忽略 C# 中的无效邮件服务器证书

本文关键字:邮件服务器 证书 无效 忽略 | 更新日期: 2023-09-27 18:35:59

我正在尝试发送电子邮件,尽管返回的错误消息如下:

根据验证过程,远程证书无效

我的代码如下:

   static void sendEmail()
        {
            var fromAddress = new MailAddress("xxxxxxxx@xxxxxxxx", "xxxxxxx");
            var toAddress = new MailAddress("xxxxxxxx@xxxxxxxx", "xxxxxxxx");
            const string fromPassword = "xxxxxxxxxxxx";
            const string subject = "xxxxxxxxxxxxxxxxxxxxx";
            var smtp = new SmtpClient
            {
                Host = "mailserver",
                Port = 587,
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials = new NetworkCredential("username", fromPassword)
            };
            using (var message = new MailMessage(fromAddress, toAddress)
            {
                Subject = subject,
                Body = bodyglobal
            })
            {
                smtp.Send(message);
            }
        }

忽略 C# 中的无效邮件服务器证书

尝试设置

 EnableSsl = false;

几周前我遇到了这个问题,这就是修复程序。如果您的程序不需要/使用 SSL,则 smtpexecption 将触发该错误消息。

发送电子邮件取决于 SMTP 服务器的配置方式。

根据 gmail confiruged 您需要删除此行代码

UseDefaultCredentials = false,

只需评论此行,您的信息就会发送。

 var smtp = new SmtpClient
        {
            Host = "mailserver",
            Port = 587,
            EnableSsl = true,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            // do not use this command
           // UseDefaultCredentials = false,
            Credentials = new NetworkCredential("username", fromPassword)
        };

Microsoft建议尽可能不要使用默认凭据。看到这里这