【问题标题】:GoDaddy SMTP() Failed cPanelGoDaddy SMTP() 失败的 cPanel
【发布时间】:2016-10-12 15:21:53
【问题描述】:

在使用 cPanel 迁移到新的 Linux 托管计划后(以前我有没有 cPanel 的经典 Linux 托管计划),我的旧 PHPMailer 不再起作用。我不断收到 SMTP() 失败,并且在日志文件中,*

"PHP 警告:stream_socket_enable_crypto():SSL 操作失败 使用代码 1. OpenSSL 错误消息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败 [文件名]"

我浏览了 Stack Overflow 一段时间,尝试了各种解决方案,无论是更改端口号、主机名还是 SSL/TSL 选项,似乎都无法解决问题。考虑到以前甚至没有必要指定这些细节,我很迷茫。我已经联系了 GoDaddy 的技术支持,他们建议使用 post 25 和主机 relay-hosting.secureserver.net,唉,没有任何区别。

我正在使用 Marcus Bointon 开发的 PHPMailer,https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

如果有帮助,我的 PHPMailer 详细信息如下:

    $mail = new PHPMailer;
    $mail->IsSMTP(); 
    $mail->SMTPDebug = 0; 
    $mail->Host = 'relay-hosting.secureserver.net';
    $mail->Port = 25;
    $mail->SMTPAuth = false;
    $mail->SMTPSecure = false;
    $mail->SMTPAutoTLS = false;
    $mail->SMTPSecure = false;

【问题讨论】:

    标签: php email ssl phpmailer cpanel


    【解决方案1】:

    就是我! GoDaddy 是一个常见的痛点......他们阻止所有出站 SMTP,除了通过他们自己的服务器。证书验证是由于他们提供了无效的证书,您现在可能会看到它,因为您的升级也将您移至 PHP 5.6+,默认情况下验证证书。由于这是在 GoDaddy 的网络中完成的,我建议您尝试完全禁用 TLS:

    $mail->SMTPAutoTLS = false;
    $mail->SMTPSecure = false;
    

    与他们的relay-hosting.secureserver.net 主持人交谈绝对是正确的方式。

    【讨论】:

    • 从实际开发人员那里得到答案真是一种荣幸!谢谢你的评论,马库斯。恐怕它没有影响结果,也许是我的一般配置不正确或缺少任何重要细节? $mail = 新的 PHPMailer; $mail->IsSMTP(); $mail->SMTPDebug = 0; $mail->Host = 'relay-hosting.secureserver.net'; $mail->端口 = 25; $mail->SMTPAuth = 假; $mail->SMTPSecure = false; $mail->SMTPAutoTLS = false; $mail->SMTPSecure = false;
    • 禁用 TLS 后证书验证仍然失败??我建议打开调试输出以查看发生了什么:$mail->SMTPDebug = 2;
    • 它成功了,我只需将“主机”名称更改为 localhost,因为我收到“无法连接到服务器:连接被拒绝 (111)”错误。谢谢你的帮助,马库斯! :)
    猜你喜欢
    • 2016-11-10
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    • 2015-02-04
    • 2020-04-12
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多