首頁 >後端開發 >C++ >為什麼我的 Gmail SMTP 連線失敗並出現「憑證無效」錯誤?

為什麼我的 Gmail SMTP 連線失敗並出現「憑證無效」錯誤?

Susan Sarandon
Susan Sarandon原創
2025-01-12 09:51:43231瀏覽

Why Is My Gmail SMTP Connection Failing with an

Gmail SMTP 的「無效證書」錯誤疑難排解:

透過 Gmail 的 SMTP 伺服器發送電子郵件可能會觸發錯誤「根據驗證程序,遠端憑證無效。」本文解釋了原因並提供了臨時解決方案。

問題出在證書驗證過程。 Gmail的SMTP伺服器使用安全性憑證來驗證電子郵件資料的真實性。 如果您的用戶端的驗證程序拒絕伺服器的證書,則會發生此錯誤。

臨時解決方案(僅用於調試):

要暫時繞過證書驗證(由於存在重大安全風險,強烈建議不要在生產環境中使用),請在啟動 smtpclient.Send() 之前使用此方法:

<code class="language-csharp">[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;
}</code>

此程式碼告訴 .NET Framework 接受任何伺服器憑證。 重複:僅將此用於診斷目的。 切勿在停用證書驗證的情況下部署代碼。 在生產環境中實施此解決方案會嚴重削弱應用程式的安全性。

以上是為什麼我的 Gmail SMTP 連線失敗並出現「憑證無效」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn