Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Asp.Net/C发送邮件时出错#_C#_Asp.net_Email - Fatal编程技术网

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的机器发送邮件。