如何在 Mailkit 中使用消息 ID 获取消息?

How to get the message using message id in Mailkit?

我正在使用邮件工具包发送接收邮件,并管理我数据库中的所有记录。我正在存储特定邮件的所有用户操作,然后使用我的代码执行它。 我将消息 ID 存储在 table 中作为唯一消息,现在我想使用 messageid 获取消息。有什么办法吗?

首先,不要期望 Message-Id header 是全局唯一的。任何黑客都可以轻松地创建他们自己的消息和 re-use 一个已知的 Message-Id 来尝试混淆依赖于 Message-Id 的软件。

也就是说,您需要结合使用 IMailFolder.Search() API 和 SearchQuery.HeaderContains() 来搜索具有特定 Message-Id header 的邮件。

var uids = folder.Search (SearchQuery.HeaderContains ("Message-Id", "blah@blah.com"));