-2

我已经浏览了许多关于 SMTP 连接的示例代码。在那些中,大多数人 SmtpServer.EnableSsl=true ;只使用 gmail(我的观察)。此代码的范围或用途是什么?

4

3 回答 3

2

MSDN中查看SmtpClient.EnableSsl

指定 SmtpClient 是否使用安全套接字层 (SSL) 来加密连接。


如果 SmtpClient 使用 SSL,则为 true;否则为假。默认值为假。EnableSsl 属性指定是否使用 SSL 访问指定的 SMTP 邮件服务器。

于 2013-01-15T10:40:49.870 回答
1

来自 MSDN 上的SmtpClient类,EnableSSl属性:

  • 指定 SmtpClient 是否使用安全套接字层 (SSL) 来加密连接。

链接到 MSDN

此属性的默认值也可以在机器或应用程序配置文件中设置。对 EnableSsl 属性所做的任何更改都会覆盖配置文件设置。

SmtpClient 类仅支持 RFC 3207 中定义的基于传输层安全的安全 SMTP 的 SMTP 服务扩展。在这种模式下,SMTP 会话在未加密的通道上开始,然后客户端向服务器发出 STARTTLS 命令以切换到使用 SSL 进行安全通信。有关详细信息,请参阅 Internet 工程任务组 (IETF) 发布的 RFC 3207。

另一种连接方法是在发送任何协议命令之前预先建立 SSL 会话。此连接方法有时称为 SMTP/SSL、SMTP over SSL 或 SMTPS,默认情况下使用端口 465。当前不支持使用 SSL 的这种替代连接方法。

您可以使用 ClientCertificates 指定应使用哪些客户端证书来建立 SSL 连接。ServerCertificateValidationCallback 允许您拒绝 SMTP 服务器提供的证书。SecurityProtocol 属性允许您指定要使用的 SSL 协议的版本。

笔记:

如果 EnableSsl 属性设置为 true,并且 SMTP 邮件服务器未在对 EHLO 命令的响应中通告 STARTTLS,则对 Send 或 SendAsync 方法的调用将引发 SmtpException。

于 2013-01-15T10:41:22.607 回答
-2

http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.enablessl.aspx

通过谷歌花了我两秒钟...

于 2013-01-15T10:40:40.550 回答