C# 从Asp.Net/C发送邮件时出错#
我已经建立了一个反馈页面。我正在尝试从该页面发送邮件。客户端向我提供了C# 从Asp.Net/C发送邮件时出错#,c#,asp.net,email,C#,Asp.net,Email,我已经建立了一个反馈页面。我正在尝试从该页面发送邮件。客户端向我提供了SMTP服务器名称、电子邮件ID和密码。但当我尝试从该页面发送邮件时,我收到以下错误 连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立了连接 失败,因为连接的主机未能响应64.37.118.141:25 这是我的密码 MailMessage feedBack = new MailMessage(); //feedBack.To.Add("master@myclient.com"); feedBack.From =
SMTP服务器
名称、电子邮件ID
和密码
。但当我尝试从该页面发送邮件时,我收到以下错误
连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立了连接
失败,因为连接的主机未能响应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);
MailMessage feedBack=newmailmessage();
//反馈。到。添加(“master@myclient.com");
feedBack.From=新邮件地址(“master@myclient.com");
反馈。Subject=“来自Explor公司网站的邮件。”;
feedBack.Body=“发件人姓名:”+Name.Text+”
发件人姓氏:“+LastName.Text+”
发件人公司:“+Company.Text+”
发件人指定”+Designation.Text+”
发件人电子邮件:“+Email.Text+”发件人电话号码:“+PhoneNo.Text+”发件人查询:“+Enquiry.Text;
feedBack.IsBodyHtml=true;
SmtpClient smtp=新SmtpClient();
smtp.Host=“smtp.myclient.com”//或您的SMTP服务器地址
//smtp.Port=587;
smtp.EnableSsl=true;
smtp.Credentials=新系统.Net.NetworkCredential(“master@myclient.com", "*****");
//或您的Smtp电子邮件ID和密码
发送(反馈);
有人能帮我解决这个问题吗
欢迎任何建议。这很可能表明您没有正确的主机名或端口 如果您使用的是SSL,则默认SMTP端口25将不起作用。我注意到,您确实有一行设置了被注释掉的端口 尝试将端口设置为587,如果不起作用,请尝试端口465,该端口有时用于安全SMTP 如果不起作用,请与客户端确认正确的端口和主机名
另一件您可能需要仔细检查的事情是,您正在使用的SMTP服务器是否确实支持/需要SSL。如果不支持SSL,则需要将
启用SSL
选项设置为false,并尝试在默认端口25(或他们使用的任何端口)上连接。听起来可能是超时错误或身份验证问题。从代码访问外部资源时,您需要处理可能的错误:
try
{
smtp.Send(feedBack);
}
catch(Exception e)
{
// Handle the exception here
}
我尝试按照您的建议进行操作,但端口587和465出现错误,我还尝试将端口25和enableSSL设置为false。结果是相同的,因此您是否认为客户端给我的smtp服务器名称是错误的,因为凭据是正确的。或者,或者,您用来发送电子邮件的计算机与SMTP服务器之间存在未正确配置的防火墙。它可能在你这边或他们那边,阻止了你正在使用的端口上的通信。我用gmail发送邮件。它起作用了,所以你认为防火墙可能是个问题。谢谢。@freebird-你用gmail发送邮件是什么意思?你是否使用Gmail帐户从运行ASP.NET的机器发送邮件?如果是这样的话,那么是的,我会确保提供给您的主机名是正确的,并且他们没有防火墙阻止必要的端口(在服务器站点)。我使用gmail帐户从运行ASP.NET的机器发送邮件。