MimeKit:如何通过MessageId删除电子邮件?

Ing*_*mar 6 c# mimekit

我正在使用MailKit/MimeKit 1.2.7(最新的NuGet版本).

使用ImapClient删除电子邮件非常简单......

client.Inbox.AddFlags(uniqueId, MessageFlags.Deleted, silent: true);
Run Code Online (Sandbox Code Playgroud)

...如果您知道电子邮件UniqueId或其索引.

就我而言,我不知道其中任何一方.我所拥有的只是消息本身(MimeMessage)和它的MessageId.

我希望MessageId == UniqueId,但显然事实并非如此.

我是否有机会通过拥有相应的MimeMessage/MessageId来删除电子邮件?

jst*_*ast 10

你可以尝试做这样的事情:

var uids = folder.Search (SearchQuery.HeaderContains ("Message-Id", message.MessageId));
folder.AddFlags (uids, MessageFlags.Deleted, silent: true);
Run Code Online (Sandbox Code Playgroud)

但是,理想情况下,您将跟踪UniqueId用于获取消息的内容,以便您可以使用该值.