IMAP BAD [CLIENTBUG]标签无效

时间:2015-06-22 20:58:19

标签: imap

我想发送IMAP命令,以便我可以接收IMAP响应。

这是一个简短的代码,可以轻松地进行处理但节省空间以防止为Overflow阅读器键入所有代码和更快:

SSL_write("a0001 login user pass")

SSL_read = "* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH UTF8=ACCEPT
a0001 OK mrtallpuducherry@gmail.com authenticated (Success)

好的,现在一切都好,但这里的问题很小:

SSL_write("a0002 select inbox\r\n\r\n")

SSL_read = * BAD [CLIENTBUG] Invalid tag
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen $Phishing $NotPhishing)
* OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen $Phishing $NotPhishing \*)] Flags permitted.
* OK [UIDVALIDITY 1] UIDs valid.
* 7958 EXISTS
* 0 RECENT
* OK [UIDNEXT 22979] Predicted next UID.
* OK [HIGHESTMODSEQ 2553479]
a0002 OK [READ-WRITE] inbox selected. (Success)

登录后我发送IMAP命令以获取IMAP响应时,我收到的第一件事总是

* BAD [CLIENTBUG] Invalid tag

在它告诉我不好之后,然后给我适当的回应并告诉我(成功)。

对我来说很困惑,因为我给出了正确的标签。我在linux平台上使用OpenSSL。

此示例使用gmail服务器,但在所有测试的IMAP服务器上都会发生。登录是完美的,其他一切都以“无效标签”开头,然后给我正确的答复。

你知道我做错了什么以及如何防止这种情况发生?非常感谢你。我最亲切的看法。

1 个答案:

答案 0 :(得分:2)

问题在于:

SSL_write("a0002 select inbox\r\n\r\n")

只写一个CRLF:

SSL_write("a0002 select inbox\r\n")

您无意中发送了两个命令。一个是你想要的命令,一个是空命令,它没有(无效)标签。