O365使用Mailkit删除邮件?

3

我一直在开发一个小型的控制台应用程序,用于读取邮箱。它工作得很好,但是当它完成邮件的阅读后,我希望将它们移动到“已删除”邮件夹中。我找到了其他相关问题,但似乎没有解决它。我没有收到任何错误消息,而且“已读”标志也非常流畅。如果有问题,请随时评论。

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);
}
1个回答

6
你好,我已找到答案,在大量搜索和测试后。
 inbox.AddFlags(i, MessageFlags.Deleted, true);

标记它以删除,但没有将其移动到“删除帖子”或其他任何地方,我发现如果我运行


inbox.Expunge();

它会删除所有被标记为删除的消息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接