MailKit Delete single message from gmail

为君一笑 提交于 2019-12-05 19:43:10

问题


I am using MailKit (https://github.com/jstedfast/MailKit) to connect to google apps via imap, how can I delete a single message though ? (I am fine to have it moved to trash, just need it out of the inbox.

So far I have it connected, downloading, parsing links from message bodies. I just need this one last action to have what I need.

Thanks!


回答1:


To delete a message from a folder on the IMAP server, this is all you need to do:

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

or

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

Now the message is marked as \Deleted on the server.

You can then purge the folder of all deleted items by calling:

client.Inbox.Expunge ();

If you are using UIDs instead of indexes and the IMAP server supports the UIDPLUS extension (check the client.Capabilities), you can expunge just a selected set of messages like this:

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


来源:https://stackoverflow.com/questions/23677464/mailkit-delete-single-message-from-gmail

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!