2014-05-15 62 views
7

我正在使用MailKit(https://github.com/jstedfast/MailKit)通過imap連接到谷歌應用程序,但是如何刪除單個郵件? (我很好,讓它移動到垃圾桶,只需要它的收件箱。MailKit從Gmail中刪除單個郵件

到目前爲止,我有它連接,下載,解析鏈接從郵件正文我只需要這最後一個行動有我需要!

感謝

+0

,我已經刪除大量郵件[這裏]的完全工作MailKit例子(https://github.com/arthurspa/ DeleteEmailMessages)。刪除單個消息是相似的。 –

回答

14

要刪除的IMAP服務器上的文件夾中的消息,這是所有你需要做的:

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

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

現在郵件在服務器上標記爲\已刪除。

然後,您可以通過調用清除所有已刪除項目的文件夾:

client.Inbox.Expunge(); 

如果你正在使用的不是指數的UID和IMAP服務器支持UIDPLUS擴展(檢查client.Capabilities),你可以抹去只是一組選定的消息是這樣的:雖然你需要下載只有一個消息

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