在我的应用程序中,我需要通过C#发送电子邮件(使用Gmail或Hotmail) 在localhost它工作正常没有错误,但当上传到Godaddy托管所有时间我有错误像
的Hotmail: 代码:
SmtpClient SmtpServer = new SmtpClient("smtp-mail.outlook.com");
var mail = new MailMessage();
mail.From = new MailAddress("xxxxx@hotmail.com");
mail.To.Add(ReciverMail);
mail.Subject = "Test Mail - 1";
mail.IsBodyHtml = true;
string htmlBody;
htmlBody = "Write some HTML code here";
mail.Body = htmlBody;
SmtpServer.Port = 587;
SmtpServer.UseDefaultCredentials = false;
SmtpServer.Credentials = new System.Net.NetworkCredential("xxxxx@outlook.com", "xxxxx");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
return "Mail has been successfully sent!";
的Gmail: 代码:
MailMessage msg = new MailMessage();
msg.From = new MailAddress("xxx", "xxxx");
msg.Subject = "From ASU at " + DateTime.Now.ToString();
msg.To.Add(ReciverMail);
msg.Body = "Test";
msg.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = false;
client.Host = "smtp.gmail.com";
client.Port = 587;
client.EnableSsl = true;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Credentials = new NetworkCredential("xxxx@gmail.com", "xxxxx");
client.Timeout = 20000;
client.Send(msg);
return "Mail has been successfully sent!";
答案 0 :(得分:0)
请确认您的Godaddy托管防火墙允许出站流量,并且您没有被防病毒软件阻止。
基本上Windows防火墙会产生此错误。 SMTP尝试在端口587上发布到GMAIL和Hotmail。将端口587添加到出站规则[出站HTTP / SMTP / RDP]将解决此问题。