我使用MailKit得到這樣充滿IMessageSummaries的列表:如何從IMessageSummary獲取MimeMessage?
var allMessages = remoteFolder.Fetch(remoteIndexList, MessageSummaryItems.Full | MessageSummaryItems.Flags | MessageSummaryItems.UniqueId | MessageSummaryItems.BodyStructure);
我沒有興趣像下載的IMessageSummary等部位的任何優化,我只是想整個數據,以最快的速度我可以得到它。
但是,使用上面的方法,我不能再讀取正確的消息主體的HTML,例如使用HtmlPreviewVisitor
因爲IMessageSummary
的Body
屬性是BodyPartBasic
。顯然,我需要整個MimeMessage
。
問題是,如果我想獲得多個MimeMessages
,我不能,我只能使用ImapClient.GetMessage(int index, ...)
方法一次得到一個。
是否有辦法從原始MimeMessage
中提取所有用於創建IMessageSummary
的零件,並將它們與HtmlPreviewVisitor
一起使用,而無需再次下載每個完整的MimeMessage
?
是的,我想我應該爲每個IMessageSummary使用GetMessage(),但爲什麼不存在GetMessages()方法,它將像使用Fetch()一樣僅向IMAP服務器發送一個請求來返回消息列表? – Nevca
因爲這是大量的數據將被轉儲到內存中。 – jstedfast
謝謝@jstedfast – Nevca