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连接?我可以从客户端做什么测试?
通常这是受惯例约束的.在端口25上运行的SMTP(正常情况)使用显式SSL.在端口465上运行的SMTPS使用隐式SSL.在端口587上运行的邮件提交使用显式SSL.
要确定,telnet到端口,如"telnet mail.example.com 25".如果您看到服务器标识自己的纯文本横幅,那么您正在处理显式SSL.如果您成功连接并且什么也看不见,那么您正在处理隐式SSL.