MailKit - 文件夹名称中的无效字符

时间:2017-09-04 13:26:36

标签: 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 个答案:

答案 0 :(得分:1)

应该引用']'字符,但是你连接的任何IMAP服务器显然没有正确引用它。

如果您尚未使用MailKit 1.18.1,请尝试升级以查看是否可以解决问题。 1.18.1增加了类似问题的解决方法,但我不确定它是否在未标记的STATUS响应中处理它。如果没有,请告诉我,我会在那里添加相同的工作。