【问题标题】:How can I mark a message as read in MailKit如何在 MailKit 中将邮件标记为已读
【发布时间】:2015-11-06 04:48:27
【问题描述】:

我使用 MailKit 从 GMail 帐户读取一些邮件。效果很好,但是当我的应用程序读取了一条消息时,我想将消息标记为已读,并将该状态保存到 GMail。 MailKit 可以做到这一点吗?我还没有找到任何关于它的信息。

【问题讨论】:

    标签: c# mailkit


    【解决方案1】:

    使用 IMAP 协议将邮件标记为已读的方法是在邮件上设置 \Seen 标志。

    要使用 MailKit 执行此操作,您首先需要知道消息的索引或 UID 您想设置\Seen 标志。获得该信息后,您将需要致电 ImapFolder 上的 AddFlags() 方法之一。例如:

    folder.AddFlags (uids, MessageFlags.Seen, true);
    

    要将邮件标记为未读,您可以删除 \Seen 标志,如下所示:

    folder.RemoveFlags (uids, MessageFlags.Seen, true);
    

    【讨论】:

    • RemoveFlags 函数似乎没有任何效果。您能否修改您的答案以包括与服务器的连接?
    • 确保以FolderAccess.ReadWrite 模式打开文件夹。
    • 谢谢。现在完美运行。
    • 有没有办法只拥有MimeMessage 而不知道它在哪个文件夹中?
    • 不,在不知道文件夹的情况下无法设置标志。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 2013-05-07
    • 1970-01-01
    • 2011-12-02
    • 2015-01-15
    • 2013-02-02
    • 2014-09-14
    相关资源
    最近更新 更多