当名称中包含]
或[
的文件夹时,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的限制?
答案 0 :(得分:1)
应该引用']'字符,但是你连接的任何IMAP服务器显然没有正确引用它。
如果您尚未使用MailKit 1.18.1,请尝试升级以查看是否可以解决问题。 1.18.1增加了类似问题的解决方法,但我不确定它是否在未标记的STATUS响应中处理它。如果没有,请告诉我,我会在那里添加相同的工作。