I am using MailKit/MimeKit 1.2.7 (latest NuGet version).
Deleting an email with the ImapClient is pretty easy ...
client.Inbox.AddFlags(uniqueId, MessageFlags.Deleted, silent: true);
... if you know the emails UniqueId or its Index.
In my case, I don't know either one nor the other. All I have is the message itself (MimeMessage) ad its MessageId.
I was hoping that MessageId == UniqueId, but obviously this is not the case.
Do I have any chance to delete an email by just having the corresponding MimeMessage/MessageId?
You could try doing something like this:
var uids = folder.Search (SearchQuery.HeaderContains ("Message-Id", message.MessageId));
folder.AddFlags (uids, MessageFlags.Deleted, silent: true);
Ideally, though, you'd keep track of the UniqueId
that you used to fetch the message so that you can just use that value.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With