【问题标题】:Unable to send mail from ASP.NET web page无法从 ASP.NET 网页发送邮件
【发布时间】:2012-07-15 12:59:36
【问题描述】:

我的网站中有一个“联系我们”页面,我正在尝试从中发送邮件。这是我的代码 MailMessage 反馈 = new MailMessage();

feedBack.To.Add("some@some.com");
feedBack.From = new MailAddress("MyClient@some.com");
feedBack.Subject = "Mail from My Client's 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+"<br/><br/>Sender Phone No:"+ PhoneNo.Text+"<br/><br/>Sender Enquiry:"+Enquiry.Text;
feedBack.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.MyClient.com"; //Or Your SMTP Server Address
//smtp.Port = 25;
//smtp.EnableSsl =false;
smtp.Credentials = new System.Net.NetworkCredential("MyClient@some.com","XXXX");
//Or your Smtp Email ID and Password
 smtp.Send(feedBack);

我一直收到这个错误

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

我已经和我的客户核实了所有细节都是正确的(smtp server name,credentials)。

我也尝试将端口设置为 587 和 465,但没有成功。

有人可以帮我解决这个问题吗?

可能是什么原因?

我找不到它。 欢迎提出任何建议。

【问题讨论】:

  • 尝试发送到您自己的个人电子邮件(如 yahoo 或 gmail,看看您是否收到相同的错误)
  • 您的提供者是谁?也许他们有你需要使用的中继服务器。
  • @AlexMendez 我没有问过,他们给了我 POP 服务器和 SMTP 服务器名称。
  • @DotNetRookie 目前我正在尝试将其发送到我自己的 gmail 帐户。
  • @freebird 请尝试使用 smtp.EnableSsl = true;

标签: c# asp.net email


【解决方案1】:

我通过telnet用25端口测试了上面的ip,得到如下响应:

命令:

telnet 64.37.118.141 25

回复:

Could not open connection to the host, on port 25: Connect failed

很可能端口 25 被阻塞。您需要找到您的 pop/smtp 服务器使用的端口。

【讨论】:

  • 我应该问他们 smtp 服务器的端口号吗?
  • 大多数情况下,他们将其列在常见问题解答中。您应该可以在他们的网站上找到它,或者您可以打电话询问。
  • 感谢您的帮助。您认为问题可能出在端口号上。
  • 这是一种可能性。大多数提供商现在阻止某些端口作为安全措施。端口 25 就是其中之一。
  • 我遇到了和你一样的问题,发现使用他们为 MS Outlook 等程序提供的相同配置,也适用于 .net。
【解决方案2】:

中等信任度

如果您使用共享主机服务,很有可能 ASP.Net 设置为在medium-trust 中运行(应该如此)。这会将 SMTP 限制为端口 25,您不能使用任何其他端口。

【讨论】:

  • 那么你有什么推荐 EdSF 的,你能简单介绍一下我的机会吗?我在这里有点不知所措。谢谢你的建议。
  • @freebird 需要澄清 - 您使用谁的 SMTP 服务器发送邮件?您在上面提供了一个 IP,但是在某些 cmets 中您提到了 GMAIL?
  • 我正在使用我的客户 SMTP 服务器。
  • @freebird 如果您使用的是客户端的服务器,请查看 Alex 的上述回答。似乎 25 端口被阻塞。如果他们使用不同的端口并且网站托管在共享服务器上,那么您将遇到问题(同样,您只能在medium trust 中使用端口 25)。解决方法:问你的客户为什么25端口被阻塞,应该使用什么端口。找出您的托管选项是什么 - 共享几乎总是意味着medium trust,如果是这样,请使用不同的 SMTP 服务器....
【解决方案3】:

您是否检查过 Web 应用程序所在的服务器是否设置为允许通过 SMTP 服务器发送邮件?有时必须设置信任连接以允许将一台服务器中继到另一台服务器。

【讨论】:

  • 我应该问他们是否允许给定的 smtp 服务器发送电子邮件?
猜你喜欢
  • 2019-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-12
  • 1970-01-01
  • 2014-10-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多