在MailKit中,
您可以使用以下内容获取多个消息的IMessageSummary(包含指定的标题和完整的消息)
ImapFolder folder;
List<UniqueId> uids;
var messageSummaries = folder.Fetch(uids,
MessageSummaryItems.Full,
new HashSet<string>{"X-Mailer"});
如果通行证为空HashSet<string>
,我得到System.ArgumentException: The set of header fields cannot be empty
。
如何获取所有可用的标头?
注意:我知道我可以逐个获取每封邮件的标头,但这太慢了,无法满足我的性能需求。
答案 0 :(得分:2)
由于MailKit是开源的,所以我刚刚修改了ImapFolderFetch
的代码以处理所有标头的提取,并发出了请求请求。库的所有者通过在MessageSummaryItems
中添加新值来对其进行了改进。
用法:
var messageSummaries = folder.Fetch(uids, MessageSummaryItems.Headers);
注意:在完成新发行之前,您将必须从github master构建自己的版本。