电子邮件客户端和PHPMailer的安全电子邮件设置

我正在努力解决如何使我的传出/传入电子邮件尽可能安全,因为我可以使他们。

首先,我的域具有Wildcard OV SSL证书,我有.csr.crt.key文件的副本,但是我没有任何.p12.pfx PKCS12文件,是否可以从我的SSL证书,以便我可以通过电子邮件客户端(如Outlook,Thunderbird等)对传出的电子邮件进行数字签名

其次,下面是我可以并应该用于我的电子邮件客户端的“最安全”/“最佳”安全设置是所有可用的选项。

传入选项

连接安全性:

  • 没有
  • STARTTLS
  • SSL / TLS (目前使用通过端口993)

身份validation方法:

  • 正常密码(目前使用通过端口993)
  • encryption的密码
  • Kerberos / GSSAPI
  • NTLM
  • TLS证书
  • 的OAuth2

传出选项

连接安全性:

  • 没有
  • STARTTLS
  • SSL / TLS (目前使用通过端口465)

身份validation方法:

  • 没有authentication(不可用)
  • 正常密码(目前使用通过端口465)
  • encryption密码(不可用)
  • Kerberos / GSSAPI(不可用)
  • NTLM(不可用)
  • OAuth2(不可用)

最后但同样重要的是,PHPMailer也一样,我应该使用TLS还是SSL(有哪些更好?)

 $phpmailer->SMTPSecure = "tls"; // Choose SSL or TLS, if necessary for your server 

试试这个如何创buildp12。

 openssl pkcs12 -export -in cert.crt -inkey cert.key -name "Your Name" -out cert.p12 

以下对于公司来说已经是“安全”且实用的了。

  • 传入端口:POP3 995或IMAP 993(SSL / TLS)

    需要SMTPauthentication

  • 发送邮件服务器(SMTP)端口:465(SSL / TLS)

    需要SMTPauthentication

最后,尽可能使用TLS。 TLS性能更好,并且某些SSL协议存在安全问题。

入站选项不适用于PHPMailer。 自从1998年以来,端口465上的SSL(SMTPS)已经被弃用,尽pipe微软似乎没有注意到。 改为使用端口587上的SMTP + STARTTLS,这是PHPMailer在使用SMTPSecure = 'tls'Port = 587 。 请注意,PHPMailer的机会TLS,如果你不告诉它使用TLS,并连接到一个支持它的服务器,它会自动使用它。

最近的PHPMailer 5.2版本支持gmail的XOAUTH2authentication,并且6.0增加了对许多其他提供者的支持。

如果您使用的是PHP版本超过5.6,则应该启用证书validation(默认情况下,PHP 5.6+)。