6

MailKit/MimeKit 1.2.7 (最新の NuGet バージョン) を使用しています。

ImapClient でメールを削除するのはとても簡単です...

client.Inbox.AddFlags(uniqueId, MessageFlags.Deleted, silent: true);

...メールのUniqueIdまたはそのインデックスがわかっている場合。

私の場合、どちらか一方しかわかりません。私が持っているのは、メッセージ自体 (MimeMessage) とその MessageId だけです。

MessageId == UniqueId を期待していましたが、明らかにそうではありません。

対応する MimeMessage/MessageId を取得するだけでメールを削除する機会はありますか?

4

1 に答える 1

10

次のようなことを試すことができます。

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

ただし、理想的には、メッセージの取得に使用した を追跡して、UniqueIdその値をそのまま使用できるようにすることをお勧めします。

于 2015-07-15T16:00:56.943 に答える