发送邮件时无法连接到远程服务器c#

本文关键字:服务器 连接 | 更新日期: 2023-09-27 18:26:33

我目前正试图通过System.Net.Mail.MailMessage发送电子邮件,但在运行代码时,我生成了此异常,发送邮件失败。内部异常为:无法连接到远程服务器。我相信我正在连接到远程服务器,但很好奇为什么会出现此异常以下是我的代码外观:

 try
        {
            System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
            msg.Subject = "Testing Email";
            msg.From = new System.Net.Mail.MailAddress("test@gmail.com");
            msg.To.Add(new System.Net.Mail.MailAddress("isavepluscom@gmail.com"));
            msg.Body = "testing the email";

            System.Net.Mail.SmtpClient smpt = new System.Net.Mail.SmtpClient();
            smpt.Host = "smtp.gmail.com";
            smpt.Port = 587;
            smpt.EnableSsl = true;
            smpt.Credentials = new System.Net.NetworkCredential("test@gmail.com", "1234567890");
            smpt.Send(msg);
        }
        catch (Exception ex)
        {
        }

即使我在代码中设置了凭据,我的webconfig文件中是否需要包含任何内容?

发送邮件时无法连接到远程服务器c#

您可以尝试将代码缩短为以下吗

 var smptClient = new SmtpClient("smtp.gmail.com", 587)
 {
     Credentials = new NetworkCredential("isavepluscom@gmail.com", "123456789"),
     EnableSsl = true
 };
  smptClient.Send("isavepluscom@gmail.com", "test@gmail.com", "Testing Email", "testing the email");

看起来像一个安全异常。确保端口587已打开以进行通信,如果它是服务器,则默认情况下我将被阻止。