使用 openssl s_client 通过 POP 连接到 Exchange Server 2003

使用 openssl s_client 通过 POP 连接到 Exchange Server 2003

我正在尝试通过 POP 以编程方式从 Exchange 2003 获取电子邮件。作为概念验证,我尝试使用 openssl s_client 进行连接。

我已经在 Exchange 服务器上启动了 POP 服务。尝试使用

openssl s_client -connect MYEXCHANGESERVER:995

返回

20303:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:188:

openssl s_client -connect MYEXCHANGESERVER:995 -starttls pop3

返回

CONNECTED(00000003)
write:errno=32

[更新] 根据 jj33 的建议,通过 netcating(最初是 telneting)登录服务器如下:

nc -v MYEXCHANGESERVER 995

返回

Connection to MYEXCHANGESERVER 995 port [tcp/pop3s] succeeded!

然后连接自动关闭。

Netcating 到端口 110(不安全的弹出)返回

+OK Microsoft Exchange Server 2003 POP3 server version 6.5.7638.1 (MYEXCHANGESERVERNAME) ready.

我尝试的每一个命令都会得到回复

-ERR Protocol error.

[/更新]

请原谅我这个新手 - 我基本上是在盲目地瞎想,不知道自己应该做什么。过去,我通过 openssl s_client 读取我的 GMail,设置这些证书很容易,而且有很好的文档记录。我想我也需要在这里设置某种证书,而且我已经研究过使用 .pfx 文件。但就像我说的,我在这里完全迷路了。

谢谢您的任何建议,

安德烈亚斯

答案1

作为故障排除步骤,请尝试使用 telnet 直接连接到 995,看看它是否显示纯文本横幅。您可能根本没有加密,或者您可能已将其设置为在协议中升级到加密(我会说 SMTP 中的 STARTTLS,不确定 POP 中的动词是什么)

答案2

删除 starttls 标志 - 您没有在 110 上运行 TLS,因此该标志会破坏一些东西。

答案3

我知道这已经是 7 年前的事了,但我刚刚找到了解决同一问题的方法。解决方案是将标志传递-crlfs_client

openssl s_client -crlf -connect MYEXCHANGESERVER:995

来源:测试 pop3 安全 ssl 端口 995

相关内容