【问题标题】:Gmail sending email timing outGmail 发送电子邮件超时
【发布时间】:2015-11-05 01:44:25
【问题描述】:

我正在尝试通过 gmail 发送电子邮件,但此代码不起作用,出现连接超时错误。如果我将端口设为“587”,则会出现此错误:

SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.5.1 需要身份验证。了解更多信息,请访问

        string email = // email
        string password = // password
        string smtp = // smtp.gmail.com
        int port = // 465 

        var from = new MailAddress(email, "");
        var to = new MailAddress(message.Destination);

        var client = new SmtpClient()
        {
            Host = smtp,
            Port = port,
            EnableSsl = true,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            UseDefaultCredentials = false,
            Credentials = new NetworkCredential(email, password)
        };

        var mail = new MailMessage(from, to)
        {
            Subject = subject,
            Body = body,
            IsBodyHtml = true
        };

        return client.SendMail(mail);
    }

【问题讨论】:

  • 您能否以其他方式从运行程序的计算机连接到 smtp.gmail.com:465?例如,通过 telnet 到此地址/端口。
  • 它在 Azure 上也不起作用。

标签: c# asp.net-mvc gmail asp.net-mvc-5


【解决方案1】:

我过去使用过与您的代码非常相似的代码,并且可以正常工作,但我使用的端口号是 587。 这是我的代码:

SmtpClient client = new SmtpClient
                                    {
                                        Host = "smtp.gmail.com",
                                        Port = 587,
                                        EnableSsl = true,
                                        DeliveryMethod = SmtpDeliveryMethod.Network,
                                        UseDefaultCredentials = false,
                                        Credentials = new NetworkCredential("gmail_login", "gmail_password")
                                    };
using( var message = new MailMessage("your_emailAddress", "destination_Email")
                              {
                                  Subject ="subject",
                                  Body = "body"
                              })
client.Send(message);

如果您从新的目的地/时区登录,您应该首先通过网络浏览器登录并确认是您本人 :)

【讨论】:

    【解决方案2】:

    我最近发布了另一个 answer 来解决这种情况:

    您需要确保您使用的电子邮件帐户允许 从不太安全的应用程序访问。

    只需从您的帐户更改安全设置。

    试试here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-11
      • 1970-01-01
      • 2022-06-17
      • 2017-02-09
      • 2015-11-25
      • 1970-01-01
      • 2014-10-30
      • 2012-01-07
      相关资源
      最近更新 更多