【发布时间】:2018-04-12 15:19:31
【问题描述】:
一周前,我正在使用 PHPMailer 测试 WAMP 中的一些组件,并且一切正常。第二天它就停止工作了。 WAMP 中的配置没有更改。当我尝试发送电子邮件时,使用 SMTPDebug 出现以下错误:
连接失败。错误 #2:stream_socket_enable_crypto(): SSL 操作失败,代码为 1。OpenSSL 错误 消息:错误:14090086:SSL 例程:ssl3_get_server_certificate:证书验证失败 [C:...\SMTP.php 第 404 行]
我使用 x86 版本的 WAMP 和 XAMPP(我目前使用 x64 WAMP)进行了其他测试,但没有成功,我得到了同样的错误。
所有测试均在启用 gmail“允许不太安全的应用” 的情况下执行。
在文档中快速搜索后,我发现问题是由于 SSL 证书的验证。作为一种解决方法,我可以使用以下代码跳过此检查:
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
但如前所述,这是一种解决方法。我想知道问题的根源在哪里,我不明白它为什么停止工作。我已经尝试替换 WAMP / XAMPP 文件夹中的证书,但没有成功。也做了广泛的研究,但没有结果。知道如何在没有任何解决方法的情况下解决证书验证问题吗?
【问题讨论】: