【问题标题】:PHPMailer -- "Less secure" SMTP or PHP's mail() function?PHPMailer——“不太安全”的 SMTP 或 PHP 的 mail() 函数?
【发布时间】:2017-09-25 07:55:59
【问题描述】:

我有一个“两害相权取其轻”的困境。我正在处理的网站没有 SSL。所以,我收到了这里描述的 SMTP 问题:https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure

所以,选项似乎是……

  1. 通过 PHPMailer 使用 php mail() 函数,而不是使用 PHPMailer 的内置 $mail->isSMTP(); 部分。
  2. 使用上面链接中描述的“不太安全的方式”发送 SMTP 邮件。

知道这类事情的人可以权衡这两种方法的优缺点吗?谢谢。

【问题讨论】:

    标签: php email phpmailer


    【解决方案1】:

    这两个不是唯一的选择。找出为什么证书无法使用指南中显示的测试进行验证。

    PHPMailer 将在以下情况下使用加密:a)您要求它,或者 b)如果您的服务器 它支持它,在这种情况下它会自动启用。

    如果您的服务器提供自签名或过期的证书,它将无法验证 - 您可以获取真正的证书,告诉您的邮件服务器在未配置的情况下停止广告加密,或者告诉 PHPMailer 不要使用加密完全通过设置SMTPSecure = falseSMTPAutoTLS = false

    不使用isSMTP 不再安全 - 所发生的一切都是从您的本地邮件服务器发生相同的连接,它可能(取决于您的邮件服务器的设置)面临完全相同的问题。

    【讨论】:

    • 感谢您的回复。在设置 SSL 之前,我一直在等待发表评论。我终于有了一个新的 SSL 证书。在我的网站上,我遇到了同样的错误。具体来说,它在第 353 行的 /path/to/phpmailer/class.smtp.php 中显示“警告:stream_socket_enable_crypto(): Peer certificate CN=*.example.com' did not match expected CN=mail.example.com'”这是否具体指向任何内容?跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2020-05-20
    • 2018-06-04
    • 2010-11-17
    • 1970-01-01
    • 2011-07-08
    相关资源
    最近更新 更多