使用 System.Net.Mail 通过谷歌发送 smtp 邮件给我一个超时异常

Posted

技术标签:

【中文标题】使用 System.Net.Mail 通过谷歌发送 smtp 邮件给我一个超时异常【英文标题】:using System.Net.Mail To send smtp mail via google gets me a time out exception 【发布时间】:2011-02-08 18:47:48 【问题描述】:

我正在尝试通过 google 使用 smtp 身份验证发送电子邮件,但我经常收到超时错误,不知道它可能来自以下代码,它不是我的防火墙或我的 isp 阻止 smtp 端口,所以它很可能是代码:

    MailMessage msg = new MailMessage();

    String BodyMsg;

    BodyMsg = "Hey " + TxtBoxUsername.Text + "@" + "Welcome to Tiamo your username and password are:@Username: "
        + TxtBoxUsername.Text + "@Password: " + PasswordString + "@You have succesffully registered, you can now login."
        + "@Thank You@Tiamo Team";

    BodyMsg = BodyMsg.Replace("@", System.Environment.NewLine);

    msg.To.Add(new MailAddress(TxtBoxEmail.Text));
    msg.From = new MailAddress("someemail@emailme.com");
    msg.Subject = "Re: Welcome to Tiamo";
    msg.Body = BodyMsg;

    SmtpClient client = new SmtpClient() ;
    client.EnableSsl = true;                                  
    client.Send(msg); 

这是我的 web.config 电子邮件 smtp 设置:

  <system.net>
    <mailSettings>
      <smtp from="someemail@myemail.com">
        <network host="smtp.gmail.com" port="465" userName="someemail@myemail.com" password="MyLovelyPassword" defaultCredentials="true"/>
      </smtp>
    </mailSettings>
  </system.net>

【问题讨论】:

【参考方案1】:

我害怕谷歌使用另一个端口 -> 587 或者至少他们在configure-gmail-access-in-outlook-help-website 上是这么说的

【讨论】:

是的,这行得通:SMTP 服务器需要安全连接,或者客户端未通过身份验证。知道我的谷歌凭据是正确的 ***.com/questions/704636/… 太酷了,修复了它【参考方案2】:

在我的例子中,它是以下代码行的顺序:

client.UseDefaultCredentials = false;

client.Credentials = new NetworkCredential("myaddress@gmail.com", "mypasswordforemail");

看起来合乎逻辑,UseDefaultCredentials=false;应该先走。

问候。

【讨论】:

以上是关于使用 System.Net.Mail 通过谷歌发送 smtp 邮件给我一个超时异常的主要内容,如果未能解决你的问题,请参考以下文章

通过 Exchange Online (Office 365) 使用 System.Net.Mail 发送 SMTP 电子邮件

C#使用 System.Net.Mail发送邮件功能

使用 Gmail SMTP 和 System.Net.Mail 发送电子邮件 [重复]

如何使用 system.net.mail 发送非替代的多个部分

如何使用 System.NET.mail 发送带有附件但没有任何纯文本正文的电子邮件?

如何使用 System.Net.Mail 向多个地址发送电子邮件