在设置WPForms WP Mail SMTP插件时,我得到了以下选择:
加密:()无()SSL()TLS对于大多数服务器,建议使用TLS。如果SMTP提供程序同时提供SSL和TLS选项,我们建议使用TLS。
这些选项意味着什么?他们的意思是(就像在正常对话中):
SSL=SSLv3TLS=至少为TLS 1.0/ul>或者它们的意思是(如Outlook和其他一些邮件客户端):
我假设是后者,因为这在邮件中很常见。
但是如果是这样的话,为什么插件会建议使用“TLS”(STARTTLS,它是不安全的)而不是“SSL”(TLS,它是安全的)?
最合适的回答,由SO网友:Rup 整理而成
WP Mail只是一个包装器,用于配置WordPress的PHPMailer(WP包括/class PHPMailer.php)。PHPMailer\'s documentation says:
加密风格
电子邮件有两种“风格”的传输加密:
“SMTPS”也称为“隐式”,因为它假定您从连接开始就要使用加密。在PHPMailer中,通过设置SMTPSecure为“ssl”来选择此模式,通常需要端口为465“SMTP+STARTTLS”也称为“显式”,因为它最初连接不安全,然后显式要求连接开始使用加密。在PHPMailer中,通过设置SMTPSecure=“tls”选择此模式,通常需要端口=587(在RFC6409中定义),但它可以在任何端口上工作是的,看起来像是TLS=STARTTLS。
STARTTLS的安全问题是,如果TLS不可用,客户端将以明文方式连接。乍一看PHPMailer does not do this:
if ($tls) {
if (!$this->smtp->startTLS()) {
throw new Exception($this->lang(\'connect_host\'));
}
如果选择encryption=TLS,则
the $tls flag is set 独立于服务器报告STARTTLS,因此我认为它是安全的。”TLS(如果可用)是$SMTPAutoTLS,默认为on。