2016-05-20 107 views
0

我正在使用MailKit並調用此函數,這在大多數情況下都適用。MailKit/IMAP - IMAP服務器以'NO'響應回覆'EXAMINE'命令

imap.Inbox.Open(FolderAccess.ReadOnly); 

不時某些服務器和賬戶,包括我自己的Gmail帳戶,拒絕讓我閱讀:

The IMAP server replied to the 'EXAMINE' command with a 'NO' response. 

這是不是我可以預防?呼叫過多或與另一個郵件客戶端同時讀取有衝突?測試這些理論很難,也許有人知道嗎?

回答

1

我可能會建議獲取協議日誌,以找出究竟發生了什麼。 IMAP服務器也可能會在某些錯誤消息中提供其他信息,這些錯誤消息可能有助於找出問題。

得到使用IMAP協議日誌的方法是這樣的:

using (var client = new ImapClient (new ProtocolLogger ("C:\\Temp\\imap.log")) { 
    // ... 
} 

然後你就可以打開使用任何文本編輯器的日誌文件。

+0

謝謝,我已經添加了代碼,會跟蹤它 –

+0

@mikenelson你找到了原因? – coder771

+0

我沒有找到它,因爲我沒有看到它再次登錄(雖然我可能錯過了它)。在最新的郵件包中,我認爲應該有完整的錯誤響應,而不僅僅是NO,根據我關於BAD的其他類似問題http://stackoverflow.com/questions/39958480/mailkit-the-imap-server-replied-to-審查命令與壞的響應 –