如何通过OpenSSL与Shell中的IMAP服务器通信

时间:2013-02-19 14:07:00

标签: terminal openssl imap

我想通过Mac OS X终端向服务器发送IMAP命令并获得响应。我可以使用以下行连接到服务器:

openssl s_client -connect imap.gmail.com:993

我可以成功登录:

? LOGIN m.client2 passwordhere

但是所有其他命令都不起作用,没有来自服务器的响应。我试过这个:

? LIST "" "*"
? SELECT INBOX

4 个答案:

答案 0 :(得分:60)

在朋友的帮助下发现错误:

openssl s_client -connect imap.gmail.com:993 -crlf

-crlf 至关重要

答案 1 :(得分:16)

试试这个,这应该对你有用(用你的

替换第一行)
openssl s_client -connect imap.gmail.com:993 -crlf

命令(强制-crlf)&只键入蓝色部分):

enter image description here

答案 2 :(得分:4)

首先,在你的Gmail帐户上激活imap ??? 如果你能够成功登录,这意味着ssl工作正常。 你得到的返回代码是什么

  

a1登录m.client2密码命令。

你尝试过命令

吗?
  

a1能力

尝试其他替代命令,因为并非所有IMAP服务器都实现所有IMAP命令。 我在为不同的供应商创建数据迁移工具时遇到了这个问题,例如gmail rediffmail yahoo ...

答案 3 :(得分:3)

还需要考虑更多选项:您可能正在连接到提供STARTTLS的服务器,在这种情况下,您可以告诉openssl继续协商,您需要指定您正在使用的协议(从{选择) {1}},pop3imapsmtp);其他人已经提到ftp选项,如果我正在调试SSL / TLS配置,我也会发现-crlf选项很有用。例如,你最终可能会,

-showcerts

如果您有可用的相关手册页的更多选项,

 openssl s_client -showcerts -connect target.server.name.here:143 -starttls imap
相关问题