2017-09-21 106 views
1

私はこの小型のコンソールアプリケーションを使ってメールボックスを読み取っています。それはうまく動作しますが、メールを読み終えたら、削除されたポストフォルダに移動してください。私はこれに関連する他の質問を見つけましたが、それを修正するようには見えませんでした。私は何の誤りもなく、Seenフラグは完璧に機能します。ご質問の際はお気軽にコメントしてください。Mailkitを使ってメールを削除するO365?

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 protected]", "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); 
} 

答えて

1

こんにちは、私は

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

が削除されるためにそれをマークし、検索およびテストの多くの後、答えを発見したが、ポストか何かを削除するか、それを移動していなかった、私がことがわかりました

inbox.Expunge(); 

削除対象のすべてのメッセージが削除されます。

関連する問題