我正在使用MailKit / MimeKit 1.2.7(最新的NuGet版本)。
使用ImapClient删除电子邮件非常简单......
client.Inbox.AddFlags(uniqueId, MessageFlags.Deleted, silent: true);
...如果您知道电子邮件UniqueId或其索引。
在我的情况下,我不知道其中任何一方。我所拥有的只是消息本身(MimeMessage)和它的MessageId。
我希望MessageId == UniqueId,但显然事实并非如此。
我是否有机会通过拥有相应的MimeMessage / MessageId来删除电子邮件?
答案 0 :(得分:10)
您可以尝试这样做:
var uids = folder.Search (SearchQuery.HeaderContains ("Message-Id", message.MessageId));
folder.AddFlags (uids, MessageFlags.Deleted, silent: true);
但理想情况下,您可以跟踪用于获取邮件的UniqueId
,以便您可以使用该值。