从Asp.Net/C#发送邮件时出错

时间:2012-06-29 16:15:08

标签: c# asp.net email

我已经建立了反馈页面。我正在尝试从页面发送邮件。客户端向我提供了SMTP Server名称Email IDPassword。但是当我尝试从我正在收到错误的页面发送邮件。

  

连接尝试失败,因为连接方在一段时间或建立连接后没有正确响应   失败,因为已连接的主机无法响应64.37.118.141:25

这是我的代码

MailMessage feedBack = new MailMessage();

//feedBack.To.Add("master@myclient.com");
feedBack.From = new MailAddress("master@myclient.com");
feedBack.Subject = "Mail from Explor Corporate Website.";  
feedBack.Body = "Sender Name: " + Name.Text + "<br/><br/>Sender Last Name:"+LastName.Text+"<br/><br/>Sender Company:"+Company.Text+"<br/><br/>Sender Designation"+Designation.Text+"<br/><br/>Sender Email:"+Email.Text+"Sender Phone No:"+ PhoneNo.Text+"Sender Enquiry:"+Enquiry.Text;
feedBack.IsBodyHtml = true;

SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.myclient.com"; //Or Your SMTP Server Address
//smtp.Port = 587;
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential("master@myclient.com", "*****");
//Or your Smtp Email ID and Password

smtp.Send(feedBack);

任何人都可以帮我解决这个问题吗?

欢迎任何建议。

2 个答案:

答案 0 :(得分:3)

这很可能表示您没有正确的主机名或正确的端口。

如果您使用的是SSL,那么默认的SMTP端口25将无效。我注意到你确实有一条线设置了被注释掉的端口。

尝试将端口设置为587,如果不起作用,请尝试端口465,有时用于安全SMTP。

如果不起作用,请与您的客户确认正确的端口和主机名。

您可能想要仔细检查的另一件事是您使用的SMTP服务器是否确实支持/需要SSL。如果它不支持SSL,则需要将EnableSSL选项设置为false并尝试连接默认端口25(或者他们正在使用的任何端口)。

答案 1 :(得分:0)

听起来像是一个可能的超时错误或身份验证问题。从代码访问外部资源时,您需要处理可能的错误:

try
{
 smtp.Send(feedBack); 
}
catch(Exception e)
{
    // Handle the exception here
}