MailKit从gmail中删除单个邮件

时间:2014-05-15 11:54:17

标签: c# gmail

我正在使用MailKit(https://github.com/jstedfast/MailKit)通过imap连接到谷歌应用程序,我怎么能删除一条消息呢? (我可以将它移到垃圾箱,只需将其从收件箱中取出。

到目前为止,我已将其连接,下载,解析来自邮件正文的链接。我只需要最后一个动作来获得我需要的东西。

谢谢!

1 个答案:

答案 0 :(得分:16)

要从IMAP服务器上的文件夹中删除邮件,您只需执行以下操作:

client.Inbox.AddFlags (new int[] { index }, MessageFlags.Deleted);

client.Inbox.AddFlags (new UniqueId[] { uid }, MessageFlags.Deleted);

现在,该消息在服务器上标记为\ Deleted。

然后,您可以通过调用以下方式清除所有已删除项目的文件夹:

client.Inbox.Expunge ();

如果您使用UID而不是索引并且IMAP服务器支持UIDPLUS扩展(检查client.Capabilities),您可以删除一组选定的消息,如下所示:

if (client.Capabilities.HasFlag (ImapCapabilities.UidPlus))
    client.Inbox.Expunge (new UniqueId[] { uid });