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。
关于.net - 有什么方法可以判断 SMTP 服务器是否希望客户端使用 "implicit"SSL 与 "explicit"SSL 进行连接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/172811/