GetMessage()需要花费很长时间的MailKit

时间:2015-05-28 13:11:46

标签: c# mailkit

当我打电话

var result = MailKit.GetMessage(uid)

然后呼叫大约需要4秒才能返回。是否有更好/更快的方式从服务器获取mime消息? 目前正在做以下事项:
1。 Fetch(0,-1,MessageSummaryItems.UniqueId | MessageSummaryItems.Envelope | MessageSummaryItems.Flags)
2。循环获取结果以查找messageId匹配
3. 使用之前找到的UID发送GetMessage()。

我可以看到FETCH在大多数情况下大约需要2秒,所有这一切都需要花费6秒钟的时间,这有点像#34;很长"在我可以在客户端中呈现电子邮件之前。

使用MailKit从邮件服务器获取mime消息是否有更快的方法,当我所知道的电子邮件是MessageID ??

1 个答案:

答案 0 :(得分:0)

您可以缓存所有邮件摘要,这样您就不必每次都要求服务器...

您也可以尝试:

var uids = folder.Search (SearchQuery.HeaderContains ("Message-Id", messageId));
if (uids.Count > 0)
    message = folder.GetMessage (uids[0]);