“SSL23_GET_SERVER_HELLO:未知协议”错误尝试访问Outlook smtp服务器

时间:2014-03-12 19:26:54

标签: outlook smtp openssl live-sdk sslv3

我尝试从iOS应用程序中的Outlook帐户发送电子邮件。我使用的是Mailcore2和Outlook的Live-SDK。我能够接收电子邮件,但在尝试发送电子邮件时收到错误:"无法建立与服务器的稳定连接"。

为了调查此问题,我进入终端并尝试通过SSL连接:

openssl s_client -crlf -connect smtp-mail.outlook.com:587

我收到的回复是:

error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown  protocol:/SourceCache/OpenSSL098/OpenSSL098-50/src/ssl/s23_clnt.c:607

我不确切地知道这个错误意味着什么,经过一些搜索后我发现对这个问题的一个常见反应是我试图访问的服务器可能不支持必要的SSL协议。此站点:http://foundeo.com/products/iis-weak-ssl-ciphers/test.cfm允许您测试为特定域启用的SSL协议。使用这个我发现SSLV2被禁用,SSLV3也被禁用。

我不清楚所有这些意味着什么或我需要做什么来连接到这个服务器。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:4)

到端口587的SMTP连接开始未加密。如果服务器支持加密,则可以在SMTP会话中使用STARTTLS命令稍后进行加密。

对于某些协议(包括SMTP),

openssl支持STARTTLS。它需要https://stackoverflow.com/a/14645854/2139766

中所述的-starttls smtp命令行选项

Outlook.com似乎不支持smtps: http://windows.microsoft.com/en-us/windows/outlook/send-receive-from-app