ASP.NET无法通过Gmail SMTP发送电子邮件,但Outlook 2007成功

时间:2010-12-12 08:43:00

标签: asp.net outlook smtp gmail

大家好 几周前,我的ASP.NET网站停止发送用户评论,我通过Gmail SMTP服务器(smtp.gmail.com)将这些评论通过电子邮件发送到我的电子邮件帐户。我在我的开发机器上打开了这个项目,几分钟之后再次发送电子邮件时出现以下异常消息:

  

发送邮件失败

     

无法从传输连接中读取数据:net_io_connectionclosed。

我正在使用Gmail的SMTP端口465和MailClient.EnableSSL = True。 奇怪的是我的Office Outlook 2007使用相同的设置,使用相同的Gmail帐户发送邮件没有任何问题。

有什么想法吗?

3 个答案:

答案 0 :(得分:4)

此代码适用于我。请注意,端口号与您尝试的465不同。我几乎可以肯定我也先尝试过465但没有运气。

var msg = new MailMessage(new MailAddress(recipient, "SCS Web Site"), new MailAddress(toAddress))
                {
                    Body = BuildMailBody(),
                    Subject = "SCS Web Site Message"
                };
var smtp = new SmtpClient
                {
                    Host = "smtp.gmail.com",
                    Port = 587,
                    EnableSsl = true,
                    UseDefaultCredentials = false,
                    Credentials = new NetworkCredential(myGmailUser, myGmailPassword)
                };
smtp.Send(msg);

答案 1 :(得分:0)

你不会碰巧在这里有一个禁止出站连接的防火墙,比如说,特别是允许outlook穿透。 。

答案 2 :(得分:-1)

我发现使用formmail通过gmail(在Windows服务器上)发现的一个奇怪的是端口号是问题所在。我的代码与你的代码相似,但只有在我将端口更改为25而不是587或465时才有效。这可能是你需要的。