PHPMailer が警告を生成する: stream_socket_enable_crypto(): Peer Certificate Mismatch
PHP 5.6 で実装された強化されたセキュリティ対策は、PHPMailer の使用に影響を与えています。 Dreamhost によってホストされているドメインなど、特定のドメインにメッセージを送信しようとすると、「SMTP ホストに接続できませんでした。」というエラーが発生する場合があります。
さらなる調査により、証明書の検証に関する根本的な問題が判明しました。 PHPMailer ログ「PHP 警告: stream_socket_enable_crypto(): ピア証明書 CN=*.mail.dreamhost.com' が予期された CN=mx1.sub4.homie.mail.dreamhost.com' と一致しませんでした。」
解決するにはこの問題を解決するには、証明書の検証はオプションではなく、これを無視するとセキュリティが侵害されることを理解することが重要です。 PHPMailer のドキュメントに記載されているように、正しい解決策は、無効な証明書または構成が間違っている証明書を有効な証明書に置き換えることです。
証明書の検証が交渉不可能なままであるが、メッセージ配信が依然として必要な場合は、検証をバイパスすることができます。一時的に。これは、次の SMTPOptions を設定することで実現できます:
$mail->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) );
ただし、この方法は慎重に使用する必要があり、証明書の適切な構成が解決されるまでの一時的な手段としてのみ推奨されます。
以上がPHPMailer が「stream_socket_enable_crypto(): Peer Certificate Mismatch」という警告を生成するのはなぜですか? それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。