2017-09-04 30 views
0

MailKit拋出以下異常時,有包含在其名稱][文件夾:MailKit - 在文件夾中無效字符命名

MailKit.Net.Imap.ImapProtocolException: Syntax error in untagged STATUS response. Unexpected token: ']' 
    at MailKit.Net.Imap.ImapEngine.UpdateStatus(CancellationToken cancellationToken) 
    at MailKit.Net.Imap.ImapEngine.ProcessUntaggedResponse(CancellationToken cancellationToken) 
    at MailKit.Net.Imap.ImapCommand.Step() 
    at MailKit.Net.Imap.ImapEngine.Iterate() 
    at MailKit.Net.Imap.ImapEngine.Wait(ImapCommand ic) 
    at MailKit.Net.Imap.ImapFolder.GetSubfolders(StatusItems items, Boolean subscribedOnly, CancellationToken cancellationToken) 

但有問題的文件夾似乎有效。以下是我從服務器取回:

C: A00000006 LIST "" "INBOX.Trash.5454.%" RETURN (SUBSCRIBED CHILDREN STATUS (UIDVALIDITY)) 
S: * LIST (\HasNoChildren \UnMarked) "." INBOX.Trash.5454.2121] 
S: * STATUS INBOX.Trash.5454.2121] (UIDVALIDITY 1500382965) 
S: A00000006 OK List completed (0.001 + 0.000 secs). 

有沒有其他人遇到這樣的問題,看來這是由於MailKit的限制?

回答

1

']'字符應該被引用,但無論你連接的IMAP服務器顯然不適當引用它。

如果您還沒有使用MailKit 1.18.1,請嘗試升級以查看是否解決了問題。 1.18.1爲類似問題添加了解決方法,但我不確定它是否在未標記的STATUS響應中處理它。如果沒有,請告訴我,我會在那裏添加相同的工作。

+0

根據您的建議,我已升級到1.18.1,但問題依然存在。 – Nevca

+0

我使用的服務器是Dovecot,順便說一句。 – Nevca

+0

是的,我剛剛意識到重新閱讀規範,']'實際上是允許的。由於郵箱令牌的定義方式,它只是令人困惑。 – jstedfast