有没有办法可以判断SMTP服务器是否期望客户端使用“隐式”SSL与“显式”SSL进行连接?

时间:2008-10-05 23:10:27

标签: .net ssl smtp system.net

SSL可以是“显式”或“隐式”,如此链接所述:

http://help.globalscape.com/help/secureserver2/Explicit_versus_implicit_SS.htm

System.Net.Mail仅支持“显式”SSL,如下所述:

http://blogs.msdn.com/webdav_101/archive/2008/06/02/system-net-mail-with-ssl-to-authenticate-against-port-465.aspx

所以,我正在尝试使用System.Net.Mail连接到我无法控制的SMTP服务器,而且它失败了。我怎么能确定它失败了,因为服务器需要“隐式”SSL连接?我可以从客户端做什么测试?

1 个答案:

答案 0 :(得分:9)

通常这是受约定的约束。在端口25上运行的SMTP(正常情况)使用显式SSL。在端口465上运行的SMTPS使用隐式SSL。在端口587上运行的邮件提交使用显式SSL。

要确定,telnet到端口,如“telnet mail.example.com 25”。如果您看到服务器标识自己的纯文本横幅,那么您正在处理显式SSL。如果连接成功并且什么也看不见,那么您正在处理隐式SSL。