C# で Gmail の SMTP サーバーを使用する場合の「リモート証明書が無効です」エラーのトラブルシューティング
電子メール送信に Gmail の SMTP サーバーを使用している C# 開発者は、次のエラーに遭遇する可能性があります: "The remote certificate is invalid according to the validation procedure."
これは、セキュリティ証明書の検証が失敗するために発生します。 次の解決策は、デバッグのみに使用してください。 これを実稼働環境に展開しないでください。
証明書の検証を一時的に無効にする (デバッグのみ)
重大なセキュリティ警告: 証明書の検証を無効にすると、暗号化された電子メールが傍受される可能性がある中間者攻撃など、アプリケーションが重大なセキュリティ リスクにさらされます。 これは、永続的な解決策としてではなく、問題を切り分けるためにのみ使用する必要があります。
ステップ 1: 一時的な無効化機能を実装する
smtpclient.Send()
を呼び出す前に、次の関数を実行します:
<code class="language-csharp">[Obsolete("Do not use this in production code!!!", true)] static void DisableCertificateValidationForDebugging() { // Disabling certificate validation is extremely risky and should only be used for troubleshooting. // It exposes your application to man-in-the-middle attacks. ServicePointManager.ServerCertificateValidationCallback = (_, certificate, chain, sslPolicyErrors) => true; }</code>
これにより、証明書の検証プロセスが一時的に無効になります。 証明書がエラーの原因であることを確認したら、すぐにこの変更を元に戻し、根本原因に対処してください。
以上がC# で Gmail の SMTP サーバーを使用するときに発生する「リモート証明書が無効です」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。