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中文網其他相關文章!