【发布时间】:2023-03-31 23:35:01
【问题描述】:
我们使用 PHPMailer。服务器配置为使用本地 SMTP。 所以,一般的 PHPMailer 突击队看起来像这样:
$mail = new PHPMailer();
$mail->From = 'info@localdomain.com';
$mail->Host = 'localhost';
$mail->IsSMTP();
...
自 PHP5.6 起,这不再起作用,因为证书不匹配。我们得到以下错误:
警告:stream_socket_enable_crypto():对等证书 CN='*.thisvps.com' 与 /ho...PHPMailer_latest/class.smtp.php 中的预期 CN='localhost' 不匹配
我可以使用以下方法抑制此错误:
$this->smtpConnect([
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
]
]);
但是,这是正确的方法吗?我不是抑制错误的忠实粉丝;)。 还是我们的配置有错误?
版本信息: PHP 5.6.30, PHPMailer:5.2.21
欢迎任何建议,在此先感谢!
【问题讨论】:
标签: php email ssl certificate phpmailer