首页 > 解决方案 > MailKit:如何检查已发送邮件是否已添加到“已发送”文件夹?

问题描述

当我使用 MailKit 发送电子邮件时,我需要确保将电子邮件添加到已发送文件夹中。

某些电子邮件服务器(例如 Gmail 和 Outlook)似乎会自动将电子邮件添加到“已发送”文件夹。在其他情况下,我手动找到已发送文件夹并添加电子邮件。

目前,如果客户端使用的是 Gmail 或 Outlook,我已经对服务器进行了硬编码以跳过添加已发送文件夹的步骤,但这显然是一个非常棘手的解决方案。

有没有办法检查已发送的电子邮件是否已添加到“已发送”文件夹,或者我是否需要自己做?

标签: mailkit

解决方案


您可以检查 Sent 文件夹中是否有具有相同 Message-Id 标头的消息:

var uids = sent.Search (SearchQuery.HeaderContains ("Message-ID", message.MessageId));
if (uids.Count == 1) {
    // looks like the message was added
}

推荐阅读