PHPMailer で PHP 警告が発生しました: 証明書の不一致
問題:
PHP 5.6 では、PHPMailer TLS 暗号化中に証明書の不一致を示す PHP 警告が表示されます:
PHP Warning: stream_socket_enable_crypto(): Peer certificate CN=*.mail.dreamhost.com' did not match expected CN=mx1.sub4.homie.mail.dreamhost.com'
説明:
PHP 5.6 以降、SSL 接続に対して証明書の検証がデフォルトで有効になっています。これは、PHPMailer が SMTP サーバーによって提示された証明書と予期される証明書を比較することを意味します。不一致がある場合、接続の試行は失敗する可能性があります。
解決策:
推奨される解決策は、SMTP サーバーに有効で適切に構成された証明書があることを確認することです。あるいは、証明書の検証を無視するように PHPMailer を設定することもできます:
<code class="php">$mail->SMTPOptions = array ( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true));</code>
追加の考慮事項:
以上が記事の情報と質問形式を組み合わせた、候補となるタイトルをいくつか示します。 ダイレクトかつクリア: * PHPMailer TLS 暗号化: 証明書の不一致の警告が表示されるのはなぜですか? * 証明書の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。