PHPMailer の「SSL3_GET_SERVER_CERTIFICATE: 証明書の検証に失敗しました」エラーを修正する方法

Mary-Kate Olsen
リリース: 2024-10-26 09:49:30
オリジナル
336 人が閲覧しました

How to Fix

PHPMailer での SSL 証明書検証の失敗のトラブルシューティング

PHPMailer ユーザーが自己を使用してサーバーから電子メールを送信すると、「SSL3_GET_SERVER_CERTIFICATE: 証明書の検証に失敗しました」エラーが発生する場合があります-署名された証明書。この問題は、PHP 5.6 で導入された SSL 証明書検証が原因で発生します。

根本原因:

デフォルトでは、PHPMailer は SSL 証明書を検証して、その信頼性を確認します。自己署名証明書が見つかった場合、適切な CA (認証局) が存在しないため検証は失敗します。

解決策:

この問題を解決するには、 2 つのオプションがあります:

1. SSL 構成を修正します:

可能であれば、信頼できる CA によって署名された有効な SSL 証明書を取得し、メール サーバーに正しくインストールします。これにより、証明書の検証が確実に成功します。

2. SSL 証明書検証を無効にする (非推奨):

警告: 証明書検証を無効にすると、セキュリティに重大な影響が生じます。中間者攻撃のリスクにさらされます。

証明書の検証を無効にするには、次の PHPMailer オプションを設定します。

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

検証を無効にするには、PHPMailer ライブラリを編集します。アップグレード時に機能しなくなるため、強くお勧めしません。

セキュリティに関する考慮事項:

SSL 証明書の検証の無効化は、長期的な解決策ではなく、一時的な回避策としてのみ考慮する必要があります。潜在的なセキュリティ侵害を防ぐために、SSL 構成を保護することが重要です。

以上がPHPMailer の「SSL3_GET_SERVER_CERTIFICATE: 証明書の検証に失敗しました」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!