2017-09-21 3 views
1

Ich habe an dieser kleinen Konsole App gearbeitet, um ein Postfach zu lesen. Es funktioniert gut, aber nachdem es die E-Mails durchgelesen hat, möchte ich, dass es sie zum Deleted Post-Ordner verschiebt. Ich habe andere Fragen dazu gefunden, aber das schien es nicht zu beheben. Ich bekomme keine Fehler und das Seen Flag funktioniert einwandfrei. Fühlen Sie sich frei, bei Fragen zu kommentieren.O365 Mailkit verwenden, um Mail zu löschen?

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); 
} 

Antwort

1

Hallo ich die Antwort gefunden haben, nachdem eine Menge der Suche und Prüfung,

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

es als gelöscht markiert für zu werden, aber hat es auch nicht bewegen Post oder etwas zu löschen, fand ich, dass Wenn ich die

ausführen, entfernt es alle Nachrichten gelöscht zum Löschen markiert.

Verwandte Themen