日期:2014-05-18  浏览次数:21014 次

.NET 发送邮件问题
System.Net.Mail.MailMessage email = new System.Net.Mail.MailMessage();

  email.From = new System.Net.Mail.MailAddress("xxx.yyy@gmail.com");
  email.To.Add("xxx.yyy@gmail.com");
  email.Subject =".Net mail test" ;
  email.Body = "good work";


  System.Net.Mail.SmtpClient gmailClient = new System.Net.Mail.SmtpClient();
  gmailClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; 
  gmailClient.EnableSsl = true;
  gmailClient.Host = "smtp.gmail.com ";
  gmailClient.Port = 465;
   
  gmailClient.Credentials = new System.Net.NetworkCredential("xxx.yyy@gmail.com", "123456");

  gmailClient.Send(email);


运行的时候重视说超时,详细错误下面显示,请大哥们帮帮忙~~~~~~~


异常详细信息: System.Net.Mail.SmtpException: 操作已超时。

源错误: 


行 254: gmailClient.Credentials = new System.Net.NetworkCredential("gaosong.dalian@gmail.com", "lovewanting");
行 255:
行 256: gmailClient.Send(email);
行 257: Response.Write("send mail");
行 258:  
 


------解决方案--------------------
超时就再试几次。你确定gmail的smtp服务的端口是465
------解决方案--------------------
gmailClient.Port = 465; 
注释掉试试
------解决方案--------------------

1.gmailClient.Host = "smtp.gmail.com "; 
你的Host名字多了一个空格

2.
试一下 port = 587

3. 看看别人的(几乎和你的一样)
http://www.codeproject.com/KB/cs/SendMailUsingGmailAccount.aspx

------解决方案--------------------
探讨

1.gmailClient.Host = "smtp.gmail.com ";
你的Host名字多了一个空格

2.
试一下 port = 587

3. 看看别人的(几乎和你的一样)
http://www.codeproject.com/KB/cs/SendMailUsingGmailAccount.aspx

------解决方案--------------------
默认的端口应该是465或587
换一个端口试试
你的"smtp.gmail.com "; 确实是多了一个空格