簡體   English   中英

O365使用Mailkit刪除郵件?

[英]O365 using Mailkit to Delete mail?

我一直在研究這個小型控制台應用程序,以通讀郵箱。 它工作正常,但是在閱讀完郵件之后,我希望它將其移到“ 已刪除的郵件”文件夾中。 我發現了與此有關的其他問題,但似乎並沒有解決。 我沒有任何錯誤, Seen標志完美無瑕。 如有問題,請隨時發表評論。

DateTimeOffset test = DateTime.Now;

using (var client = new ImapClient())
{
    client.ServerCertificateValidationCallback = (s, c, h, e) => true;
    client.Connect("Imap.outlook.com", 993, true);
    client.AuthenticationMechanisms.Remove("XOAUTH2");
    client.Authenticate("Email@mail.com", "password");

    var inbox = client.Inbox;
    inbox.Open(FolderAccess.ReadWrite);

    Console.WriteLine("Total messages: {0}", inbox.Count);
    Console.WriteLine("Recent messages: {0}", inbox.Recent);

    for (int i = 0; i < inbox.Count; i++)
    {
        var message = inbox.GetMessage(i);
        Console.OutputEncoding = System.Text.Encoding.ASCII;
        test = message.Date;

        inbox.AddFlags(i , MessageFlags.Seen, true);
        inbox.AddFlags(i, MessageFlags.Deleted, true); // Doesn't do anything.

        Console.WriteLine("Emne: {0}", message.Subject);
        Console.WriteLine("Fra: {0}", message.From);
        Console.WriteLine("id: {0}", test);
        Console.WriteLine(" ");
    }

    Console.ReadLine();
    client.Disconnect(true);
}

您好,經過大量搜索和測試,我找到了答案,

 inbox.AddFlags(i, MessageFlags.Deleted, true);

將其標記為已刪除,但沒有將其移動到“刪除帖子”或其他任何內容,我發現如果我運行

inbox.Expunge();

它將刪除所有標記為要刪除的消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM