我正在使用Nodejs为电子邮件客户端建立IMAP IDLE连接。在建立连接时是否有可能检测到IMAP协议版本。
答案 0 :(得分:7)
今天所有IMAP服务器都运行相同的版本4rev1。版本1,2,3和4早已不复存在。
此外,今天所有服务器都支持一个或多个扩展。 CAPABILITY命令返回扩展列表。对于gmail:
openssl s_client -connect imap.gmail.com:993 -crlf
a capability
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 XYZZY SASL-IR AUTH=XOAUTH AUTH=XOAUTH2 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN
a OK Thats all she wrote! j14mb28178795bkd
所以gmail支持IDLE和大约十几个扩展。
答案 1 :(得分:4)
IMAP使用CAPABILITY命令请求有关服务器功能的信息。这比版本号更有用,因为它允许客户端检查它可能需要的IMAP基本协议的特定扩展。