【问题标题】:IMAP BAD [CLIENTBUG] Invalid tagIMAP BAD [CLIENTBUG] 标签无效
【发布时间】:2015-06-23 05:06:36
【问题描述】:

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

这样一个简短的代码,易于理解,但节省空间以防止键入所有代码,并且溢出阅读器的速度更快:

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

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

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

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

你知道我做错了什么以及如何防止这种情况吗?非常感谢你。我最诚挚的问候。

【问题讨论】:

    标签: imap


    【解决方案1】:

    问题出在这里:

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

    只写一个CRLF:

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

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

    【讨论】:

    • 您很快就给出了正确的答案,愿您有一个充满成功的美好未来非常感谢您
    • @Max 如何获取消息的所有 uid,如果我使用“$ UID SEARCH ALL”,请帮助我?
    • @Nikita 有问题请搜索open a new question;不要在 cmets 中提问。
    • @Max 没问题
    猜你喜欢
    • 1970-01-01
    • 2013-12-22
    • 2013-04-07
    • 2010-12-26
    • 2013-12-19
    • 1970-01-01
    • 2022-11-14
    • 2011-11-24
    • 2017-06-20
    相关资源
    最近更新 更多