Gmail SMTP の「無効な証明書」エラーのトラブルシューティング:
Gmail の SMTP サーバー経由で電子メールを送信すると、「検証手順に従ってリモート証明書が無効です。」というエラーが発生する場合があります。この記事では原因を説明し、一時的な解決策を提供します。
問題は証明書の検証プロセスにあります。 Gmail の SMTP サーバーは、セキュリティ証明書を使用して電子メール データの信頼性を検証します。 クライアントの検証プロセスがサーバーの証明書を拒否した場合、このエラーが表示されます。
一時的な解決策 (デバッグ専用):
証明書の検証を一時的にバイパスするには (重大なセキュリティ リスクがあるため、運用環境では強く推奨されません)、smtpclient.Send()
を開始する前にこのメソッドを使用します。
[Obsolete("Never use this in production code!", true)] static void DisableCertificateValidation() { // Disabling certificate validation exposes your application to man-in-the-middle attacks, // allowing attackers to potentially intercept and read your encrypted messages. // See: https://stackoverflow.com/a/14907718/740639 ServicePointManager.ServerCertificateValidationCallback = (s, certificate, chain, sslPolicyErrors) => true; }
このコードは、.NET Framework に任意のサーバー証明書を受け入れるように指示します。 繰り返し: これは診断目的のみに使用してください。 証明書の検証を無効にしてコードを展開しないでください。 このソリューションを運用環境に実装すると、アプリケーションのセキュリティが大幅に低下します。
以上がGmail SMTP 接続が「無効な証明書」エラーで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。