C# 寻找.NET SmtpClient疑难解答的想法
我绞尽脑汁想了三个多小时,想尽一切办法让.NET4.5 SmtpClient发送一封测试电子邮件 我尝试过的事情: 禁用windows防火墙 禁用路由器防火墙并启用DMZ,最大未知 禁用防病毒软件 端口(25,26465587)和ssl(启用/未启用)设置的所有可能排列 查看应用程序代码在连接查看器中打开网络连接( 连接永远无法通过SYN_(已发送) 报告的异常有时是“操作已超时”,有时是“连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机未能响应[ip.ad.re.ss]:587”,具体取决于所使用的设置 下面是我正在尝试使用的代码,它正在Win7Pro IIS7 MVC 4应用程序中运行:C# 寻找.NET SmtpClient疑难解答的想法,c#,.net,email,smtp,C#,.net,Email,Smtp,我绞尽脑汁想了三个多小时,想尽一切办法让.NET4.5 SmtpClient发送一封测试电子邮件 我尝试过的事情: 禁用windows防火墙 禁用路由器防火墙并启用DMZ,最大未知 禁用防病毒软件 端口(25,26465587)和ssl(启用/未启用)设置的所有可能排列 查看应用程序代码在连接查看器中打开网络连接( 连接永远无法通过SYN_(已发送) 报告的异常有时是“操作已超时”,有时是“连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机未能响应[ip.ad.
string fromaddress = "address@gmail.com";
string toaddressstring = "recipient@gmail.com";
string subjecttext = "test";
string bodytext = "simple test email text";
System.Net.Mail.MailMessage email = new System.Net.Mail.MailMessage();
email.IsBodyHtml = true;
email.Body = "simple test email body text";
email.From = new System.Net.Mail.MailAddress(fromaddress);
email.To.Add(toaddressstring);
email.Subject = subjecttext;
System.Net.Mail.SmtpClient smtpcli = new System.Net.Mail.SmtpClient();
smtpcli.Host = "smtp.gmail.com";
smtpcli.Port = 587;
smtpcli.Timeout = 10000;
smtpcli.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtpcli.EnableSsl = true;
smtpcli.UseDefaultCredentials = false;
smtpcli.Credentials = new NetworkCredential(fromaddress, "password");
smtpcli.Send(email);
我已经完全没有主意了,还有什么不对的?任何建议都会非常棒。使用此代码并尝试签入您现在使用的不同ip
var message = new MailMessage();
message.From = new MailAddress("from@gmail.com");
MailAddress to = new MailAddress("to@gmail.com");
message.Subject = "Subject";
string bodyString = "";
bodyString += "Hello";
message.Body = bodyString;
message.To.Add(to);
message.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient("smtp.gmail.com");
smtp.Credentials = new System.Net.NetworkCredential("user@gmail.com", "password");
smtp.EnableSsl = false;
smtp.Send(message);
似乎无法建立TCP连接。我测试了你的代码,在我的电脑上运行良好
您可以尝试从google支持页面中的故障排除清单检查您是否无法建立TCP连接。故障排除并允许使用@stackuser83链接访问您的gmail帐户。我已经检查了您的代码,它工作正常。只需通过更改ip来尝试代码,或者您可以使用我提供给您的代码。@Mihai这肯定是路由器防火墙,telnet方法加快了故障排除速度20x,TY。如果你把它放在一个答案中,我可以将它标记为正确。这与他迄今为止尝试的有什么不同,与他的代码有什么不同?@MihaiHantea他正在使用端口设置,而我没有使用端口设置。。而在主机自动配置端口(smtp.gmail.com)@MihaiHantea你看不见吗stackuser83:端口(25,26465587)和ssl(启用/未启用)设置的所有可能排列。和smtpcli.Host=“smtp.gmail.com”;smtpcli.Port=587;smtpcli.Timeout=10000;--差异-->他同时使用端口和主机,而我只使用了主机,问题一定是在IP或端口。。。如果你想知道的更好,那么使用我的代码,你会得到你所有的答案。。