我有两个邪恶中的较小者"困惑。我正在处理的网站没有SSL。因此,我收到了此处所述的SMTP问题:https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure
所以,选项似乎是......
mail()
函数,不使用PHPMailer的内置$mail->isSMTP();
部分。知道这类事情的人是否可以权衡这两种方式的利弊?感谢。
答案 0 :(得分:0)
这两个并不是唯一的选择。找出为什么证书无法使用指南中显示的测试进行验证。
PHPMailer将使用加密,如果a)你要求它,或b)如果你的服务器说它支持它,在这种情况下它会自动启用。
如果您的服务器提供自签名或过期的证书,它将无法验证 - 您可以获得真正的证书,告诉您的邮件服务器如果未配置就停止广告加密,或者告诉PHPMailer通过设置SMTPSecure = false
和SMTPAutoTLS = false
来完全不使用加密。
不使用isSMTP
并不安全 - 所有发生的事情都是从本地邮件服务器发生的相同连接,它可能(取决于您的邮件服务器的设置)正好面对同样的问题。