我写了一封使用c#发送代码的电子邮件。我在我的网站上使用了GoDaddy的服务器。它正在使用localhost(VS 2013),但是当在服务器上部署相同的代码时,它会出现以下错误:
' /'中的服务器错误应用
连接尝试失败,因为连接方没有 在一段时间后正确回应,或建立连接 失败,因为连接的主机无法响应 [2607:f8b0:400E:C05 :: 6C]:25
描述:在执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息: System.Net.Sockets.SocketException:连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接主机无法响应而建立连接失败[2607:f8b0:400e:c05 :: 6c]:25
堆栈追踪:
[SocketException(0x274c):连接尝试失败,因为 连接方在一段时间后没有正确回应,或者 建立的连接失败了 SMS.Portal.SendSMS.btnSubmit_Click(Object sender,EventArgs e)in d:\保罗\ ProximityMarketer \ smsproximitysource \源\门户\ SendSMS.aspx.cs:30 System.Web.UI.WebControls.Button.OnClick(EventArgs e)+9633514 System.Web.UI.WebControls.Button.RaisePostBackEvent(字符串 eventArgument)+103 System.Web.UI.WebControls.Button.System.Web ... IPostBackEventHandler.RaisePostBackEvent(字符串 eventArgument)+10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,String eventArgument)+13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) 1724
版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.34280
代码如下:
SmtpClient smtpclient = new SmtpClient();
smtpclient.Host = "smtp.gmail.com";
smtpclient.Port = 25;
smtpclient.Credentials = new NetworkCredential("xxxxx@gmail.com", "Password");
smtpclient.EnableSsl = true;
MailMessage objmsg = new MailMessage();
objmsg.From = new MailAddress("xxxxx@gmail.com");
objmsg.To.Add(email);
objmsg.Subject = "testing";
objmsg.Body = myString.ToString();
objmsg.IsBodyHtml = true;
smtpclient.Send(objmsg);
答案 0 :(得分:1)
我找到了解决方案。有人向我推荐了这篇文章。 https://pk.godaddy.com/help/see-your-smtp-relays-3552。我使用了以下代码:
SmtpClient ss = new SmtpClient();
ss.Host = "smtpout.secureserver.net";
ss.Port = 80;
ss.Timeout = 10000;
ss.DeliveryMethod = SmtpDeliveryMethod.Network;
ss.UseDefaultCredentials = false;
ss.EnableSsl = false;
ss.Credentials = new NetworkCredential("abc@yourdomain.com", "password");
MailMessage mailMsg = new MailMessage("abc@yourdomain.com", email, "subject here", "my body");
mailMsg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
ss.Send(mailMsg);
注意:它无法使用端口25。
答案 1 :(得分:0)