我有,通過使用Gmail收件箱和S22.Imap閱讀電子郵件和PDF附件處理來自銷售商的發票的應用程序。它已經使用了好幾年,現在沒有任何問題,但最近,我已經看到試圖從收件箱中收到的所有消息時,「流無法讀取」錯誤使用命令進行處理:S22.Imap System.IO.IOException:數據流不能被讀取,在client.GetMessages信息(UID)
IEnumerable<uint> uids = client.Search(SearchCondition.Unseen());
IEnumerable<MailMessage> messages = client.GetMessages(uids);
此異常似乎只發生在某個供應商一次發送大量電子郵件時。我一直在尋找S22.Imap documentation,但沒有找到任何幫助。
注:我沒有看到讓電子郵件的這種方式,但我上面用原來的方法是在文檔中的「下載看不見的郵件」的實際例子:
// Fetch the messages and process each one
foreach (uint uid in uids)
{
MailMessage message = client.GetMessage(uid);
ProcessMessage(message);
}
我在這裏的問題是,我一直無法在本地重現例外,我真的不明白它是如何涉及client.GetMessages信息(UID)命令。
有沒有可以用這種方式處理的消息的最大數量,還是有更好的方式來閱讀和處理電子郵件?
如果client.GetMessages信息(UID)是獲得這些郵件的最好辦法,就是有,我可以捕獲此異常,並繼續當它發生的好辦法?
我將不勝感激任何意見。謝謝,