繁体   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