首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHPMailer - SSL3_GET_SERVER_CERTIFICATE:certificate验证失败

PHPMailer - SSL3_GET_SERVER_CERTIFICATE:certificate验证失败
EN

Stack Overflow用户
提问于 2014-11-09 10:28:18
回答 4查看 58.4K关注 0票数 26

遇到从具有自签名证书的邮件服务器发送电子邮件的问题,我得到的错误是:

代码语言:javascript
复制
PHP Warning:  stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in class.smtp.php on line 327.

有人遇到过类似的事情吗?

编辑:

我还尝试设置stream_context参数( params:SSL上下文选项):

代码语言:javascript
复制
$options['ssl']['verify_peer'] = false;
$options['ssl']['verify_peer_name'] = false;
$options['ssl']['allow_self_signed'] = true;

没有运气,它仍然失败与上面指出的相同的错误。

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-02-27 07:47:27

PHP5.6引入了SSL证书验证,因此如果您的配置被破坏,它将在此错误中失败。您应该修复SSL,但是可以通过将SMTPOptions属性设置为“不验证证书”来恢复旧的行为:

代码语言:javascript
复制
$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);

编辑库会破坏库的全部功能--如果您按照Kaf的回答来做,您的代码在升级时就会中断。真的,别那么做。

编辑器的备注:禁用SSL验证具有安全含义。不验证SSL/HTTPS连接的真实性,恶意攻击者就可以模拟可信端点(例如GitHub或其他远程Git主机),您将容易受到中间人攻击的攻击。在使用作为解决方案之前,请确保您完全了解安全问题。

票数 89
EN

Stack Overflow用户

发布于 2015-01-13 14:14:47

我也有同样的问题。因此,我更改了第238行中的文件class.smtp.php:

代码语言:javascript
复制
public function connect($host, $port = null, $timeout = 30, $options = array()) {
       if (count($options) == 0) {
           $options['ssl'] = array('verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true);
       }

现在一切都好了!

编辑器的备注:禁用SSL验证具有安全含义。不验证SSL/HTTPS连接的真实性,恶意攻击者就可以模拟可信端点(例如GitHub或其他远程Git主机),您将容易受到中间人攻击的攻击。在使用作为解决方案之前,请确保您完全了解安全问题。

票数 19
EN

Stack Overflow用户

发布于 2017-03-10 14:54:25

我也有同样的问题。结果发现,我的后缀配置缺少中间层和根证书设置:

代码语言:javascript
复制
smtpd_tls_CAfile=/etc/ssl/certs/intermediate-root-bundle.crt

尽管这个后缀配置已经在Outlook和Thunderbird中工作了多年,但是PHP更加挑剔,并且没有通过SSL检查。

因此,即使您可能想黑PHPMailer,请不要,并修复潜在的问题。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26827192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档