PHPMailer不使用自签名的SSL证书 [英] PHPMailer dont work with Self Signed SSL Certificate

查看:21
本文介绍了PHPMailer不使用自签名的SSL证书的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的PHPMailer、SMTP和我的自签名SSL证书有问题。我在使用PHPMailer时收到下一条消息:

SMTP错误:无法连接到SMTP主机。 SMTP Connect()失败。https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

为了解决这个问题,我找到了SMTPOptions。如果我添加:

$mail->SMTPOptions = array(                                 
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);

我的电子邮件已发送,但我正在失去SSL安全性。事实上,如果我尝试通过这种方式发送Gmail电子邮件地址,我会收到垃圾邮件文件夹中的电子邮件。

如何解决此问题?

问候

推荐答案

确保您清楚您正在谈论的是哪个证书。用于您网站的证书与发送电子邮件无关。重要的证书是由您连接到的远程邮件服务器提供的证书,而不是您的Web服务器。

如果您连接到Gmail,不会提供自签名证书。更有可能的是,如the troubleshooting guide describes in great detail所示,您的服务器的CA证书包已过期。或者,如果您确实似乎获得了自签名证书,请仔细检查该域是否也匹配,以防您的流量被重定向。指南中的OpenSSL测试应该可以帮助您诊断问题所在。禁用证书验证是一个非常糟糕的迹象;您应该致力于解决问题的原因,而不是隐藏症状。

这篇关于PHPMailer不使用自签名的SSL证书的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆