MimeKit:如何通过 MessageId 删除电子邮件?
MimeKit: How to delete an email by MessageId?
我正在使用 MailKit/MimeKit 1.2.7(最新的 NuGet 版本)。
使用 ImapClient 删除电子邮件非常简单...
client.Inbox.AddFlags(uniqueId, MessageFlags.Deleted, silent: true);
...如果您知道电子邮件的 UniqueId 或其索引。
就我而言,我两者都不认识。我所拥有的只是消息本身 (MimeMessage) 及其 MessageId。
我希望 MessageId == UniqueId,但显然不是这样。
我是否有机会通过相应的 MimeMessage/MessageId 删除电子邮件?
您可以尝试这样做:
var uids = folder.Search (SearchQuery.HeaderContains ("Message-Id", message.MessageId));
folder.AddFlags (uids, MessageFlags.Deleted, silent: true);
不过,理想情况下,您会跟踪用于获取消息的 UniqueId
,以便您可以只使用该值。
我正在使用 MailKit/MimeKit 1.2.7(最新的 NuGet 版本)。
使用 ImapClient 删除电子邮件非常简单...
client.Inbox.AddFlags(uniqueId, MessageFlags.Deleted, silent: true);
...如果您知道电子邮件的 UniqueId 或其索引。
就我而言,我两者都不认识。我所拥有的只是消息本身 (MimeMessage) 及其 MessageId。
我希望 MessageId == UniqueId,但显然不是这样。
我是否有机会通过相应的 MimeMessage/MessageId 删除电子邮件?
您可以尝试这样做:
var uids = folder.Search (SearchQuery.HeaderContains ("Message-Id", message.MessageId));
folder.AddFlags (uids, MessageFlags.Deleted, silent: true);
不过,理想情况下,您会跟踪用于获取消息的 UniqueId
,以便您可以只使用该值。