ホームページ > バックエンド開発 > PHPチュートリアル > PHP 5.6 で PHPMailer が「ピア証明書の不一致」エラーをスローするのはなぜですか?

PHP 5.6 で PHPMailer が「ピア証明書の不一致」エラーをスローするのはなぜですか?

Susan Sarandon
リリース: 2024-10-27 06:23:29
オリジナル
590 人が閲覧しました

 Why Does PHPMailer Throw a

PHPMailer 警告: ピア証明書の不一致

PHPMailer ユーザーに「PHP 警告: stream_socket_enable_crypto(): ピア証明書が予期されたものと一致しませんでした」エラーが発生するPHP 5.6 では、証明書の検証で問題が発生する可能性があります。

背景:

PHP 5.6 では、SSL 接続に対してより厳格な証明書検証が導入されました。その結果、リモート サーバーの SSL 構成が正しくない場合、PHPMailer は接続の暗号化に失敗します。

症状:

  • 接続失敗エラー: PHPMailer に「SMTP ホストに接続できませんでした。」と表示されます。
  • ログ エラー: ログに証明書の不一致警告が表示されます:「ピア証明書 CN=*.mail.dreamhost.com」 ...' 予期された CN=mx1.sub4.homie.mail.dreamhost.com...' と一致しませんでした。'".
  • 即時 QUIT コマンド: PHPMailer は、次の後に QUIT コマンドを発行する可能性があります。 STARTTLS を試行しています。暗号化の失敗を示しています。

解決策:

推奨される解決策は、リモート サーバー上の証明書または検証設定を修正することです。これには、無効な証明書を有効な証明書で置き換えるか、SSL 設定を再構成する必要がある場合があります。

代替:

即時配信が必要で、証明書の不一致が重大ではない場合は、次のオプションを使用して、PHPMailer で証明書の検証を無効にできます:

$mail->SMTPOptions = array (
    'ssl' => array(
        'verify_peer'  => false,
        'verify_peer_name'  => false,
        'allow_self_signed' => true));
ログイン後にコピー

注: 証明書の検証を無効にすることはお勧めできません。無効な証明書を受け入れる可能性があり、セキュリティが侵害されるためです。

以上がPHP 5.6 で PHPMailer が「ピア証明書の不一致」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート