GetMessage()的使用时间过长

本文关键字:时间 GetMessage | 更新日期: 2023-09-27 17:51:02

当我调用

var result = MailKit.GetMessage(uid)

则调用大约需要4秒才能返回。有没有更好/更快的方式从服务器获得mime消息??当前正在执行以下操作:
1。 Fetch(0, -1, MessageSummaryItems.)UniqueId | MessageSummaryItems。信封| MessageSummaryItems.Flags)
2。循环获取结果以查找messageId匹配
3。使用先前找到的UID发送GetMessage()

我可以看到FETCH在大多数情况下需要大约2秒,总的来说,我的过程将花费大约6秒,这在我可以在客户端呈现电子邮件之前有点"长"。

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

GetMessage()的使用时间过长

您可以缓存所有消息摘要,这样您就不必每次都向服务器请求它们…

你也可以试试:

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