BAD...
我在对 IMAP 服务器运行命令时遇到错误LIST
,我不理解,需要一些帮助。我在此之前运行了一个几乎相同的命令来列出根邮箱并且没有问题,但是当我开始遍历这些邮箱并尝试列出它们的子邮箱时,我得到了错误。奇怪的是,即使 IMAP 服务器返回的第一行是响应BAD...
,它仍然满足了其余的查询,好像什么都没有错一样?!?!
首先,您需要了解namespace
相关服务器的详细信息...
NAMESPACE
Array
(
[0] => * NAMESPACE (("" ".")) NIL NIL
)
此服务器使用空根命名空间.
,以及邮箱的句点( )分隔符。
这是我使用的命令根列表...
LIST "" "%" RETURN (SUBSCRIBED CHILDREN SPECIAL-USE STATUS (MESSAGES UNSEEN))
我得到了预期的回应......
Array
(
[0] => * LIST (\Subscribed \HasChildren) "." Archives
[1] => * STATUS Archives (MESSAGES 0 UNSEEN 0)
...
)
我应该提到,所有RETURN
元功能都是根据先前的CAPABILITIES
请求建立的。
因此,根据结果,我开始对它们进行迭代以获得儿童邮箱,第一个是Archives
。我使用的语法几乎与RFC 3501#6.3.8LIST
...下的示例
LIST "Archives." "%" RETURN (SUBSCRIBED CHILDREN SPECIAL-USE STATUS (MESSAGES UNSEEN))
我希望它列出与该Archives
邮箱相关的所有子邮箱,它确实如此,但是它首先列出了BAD...
回复......
Array
(
[0] => * BAD Error in IMAP command : Unknown command (0.000 + 0.000 secs).
[1] => * LIST (\Subscribed \HasNoChildren) "." Archives.2017
[2] => * STATUS Archives.2017 (MESSAGES 0 UNSEEN 0)
[3] => * LIST (\Subscribed \HasNoChildren) "." Archives.2016
[4] => * STATUS Archives.2016 (MESSAGES 192 UNSEEN 0)
[5] => * LIST (\Subscribed \HasNoChildren) "." Archives.2019
[6] => * STATUS Archives.2019 (MESSAGES 1 UNSEEN 0)
)
首先,我不明白我做错了什么,而且,错误BAD...
并没有像它应该的那样引用一个特定的命令,所以我真的没有什么可以继续的。其次,如果它失败了,那为什么它仍然完成请求的其余部分?
确实需要一些帮助,谢谢!
编辑1:我在测试的两个不同的 IMAP 服务器上都遇到了同样的无法解释的错误,而且它们都表现出了相同的行为……返回了正确的记录,但在此之前先包含了一个BAD...
错误。所以这肯定是我LIST...
请求的语法出了问题,但我觉得我使用的示例与 RFC 定义的相同,所以我很困惑。