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中文网其他相关文章!