【问题标题】:How to fetch all headers of several messages in MailKit如何在 MailKit 中获取多条消息的所有标头
【发布时间】:2018-07-31 11:14:30
【问题描述】:

在 MailKit 中,

您可以使用以下内容获取多条消息的 IMessageSummary(包含指定的标头和完整消息)

ImapFolder folder;
List<UniqueId> uids;
var messageSummaries = folder.Fetch(uids, 
                                    MessageSummaryItems.Full, 
                                    new HashSet<string>{"X-Mailer"});

如果传递一个空的HashSet&lt;string&gt;,我会得到一个System.ArgumentException: The set of header fields cannot be empty

如何获取所有可用的标头

注意:我知道我可以一个一个地获取每条消息的标题,但它太慢了,无法满足我的性能需求。

【问题讨论】:

    标签: c# mailkit


    【解决方案1】:

    侵入 MailKit

    由于 MailKit 是开源的,我只是修改了 ImapFolderFetch 的代码来处理所有标头的提取并发出拉取请求。库的所有者通过在 MessageSummaryItems 中添加新值对其进行了改进。

    用法:

    var messageSummaries = folder.Fetch(uids, MessageSummaryItems.Headers);
    

    注意:在完成新版本之前,您必须从 github master 构建自己的版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-30
      相关资源
      最近更新 更多