如何解决phpMailer证书验证失败
我在Windows 10上使用XAMPP,我的网站使用Yii 1框架,并托管在亚马逊上,我在使用gsuite作为公司电子邮件。为了允许使用我的域发送电子邮件,我还使用了Amazon SES。
这是我发送电子邮件的代码。它可以实时运行,但不能在本地运行
$mail = new YiiMailer();
$mail->clearLayout();//if layout is already set in config
$mail->setViewPath('application.views.mail');
$mail->setFrom(Yii::app()->params['adminEmail'],$model->firstname.' '.$model->lastname);
$mail->setTo($model->email);
$mail->setSubject('Contact Us Question');
if (YII_DEBUG) {
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,'verify_peer_name' => false,'allow_self_signed' => true
)
);
}
$mail->setView('contact');
$mail->setData(
array(
'email' => $model->email,'message' => $model->body,'name' => $model->firstname.' '.$model->lastname,'description' => 'Customer Contact'
)
);
if ($mail->send()) { }
当我尝试发送电子邮件时,出现此错误消息
stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
我发现建议添加此代码的解决方案(我确实做到了)
if (YII_DEBUG) {
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,'allow_self_signed' => true
)
);
}
我也在我的php.ini(cacert.pem)中对此进行了更改
[curl]
curl.cainfo="C:\xampp\apache\bin\cacert.pem"
[openssl]
openssl.cafile="C:\xampp\apache\bin\cacert.pem"
我的邮件设置是
'Mailer' => 'smtp','Host' => 'email-smtp.********.amazonaws.com','Port' => 587,'SMTPSecure' => 'tls','SMTPAuth' => true,'Username' => '*************','Password' => '*************',
知道我在做什么错吗?谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。