【问题标题】:System.Net.Mail.SmtpException: The operation has timed out / Unable to connect serverSystem.Net.Mail.SmtpException:操作已超时/无法连接服务器
【发布时间】:2015-03-18 22:16:59
【问题描述】:

以下代码是我的,可以在我的机器上运行(Windows 7):

var fromAddress = "pxx@company.com";
var toAddress = "pyyyj@company.com";
const string fromPassword = "dfdfdf";
string subject = "Test Mail Please ignore";
string body = "Test";
body += "Email: ";
body += "Subject: ";
body += "Question:";
var smtp = new System.Net.Mail.SmtpClient();
smtp.Host = "QAsmtp.company.net";
smtp.Port = 25;
//'smtp.EnableSsl = true;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new System.Net.NetworkCredential("csweb123lab", fromPassword);
smtp.Timeout = 300000;
smtp.Send(fromAddress, toAddress, subject, body);

我复制了这段代码并运行到我的远程计算机Windows 2008 R2 SP1(64 位),它也在公司网络中。

我收到以下错误消息:

System.Net.Mail.SmtpException:发送邮件失败。 ---> System.Net.WebException:无法连接到远程服务器---> System.Net.Sockets.SocketException:连接尝试失败 因为连接方在一段时间后没有正确响应 时间,或建立连接失败,因为连接的主机有 没有回应

我从这台机器 ping 过 SMTP 主机响应,它的响应正常。我不明白为什么我经常收到此错误。

【问题讨论】:

  • 团队,任何人都可以帮我解决这个问题。它在我的机器上工作。如果我在远程机器上运行相同的代码。有时我无法连接服务器,出现超时错误。

标签: c# asp.net iis smtp timeout


【解决方案1】:

对我来说听起来像是防火墙。即使 ping 有效,您也可能会阻塞 25 端口。使用 telnet 测试端口是否从 DOS 命令行打开,如下所示:

telnet QAsmtp.company.net 25

【讨论】:

  • 感谢团队,我提出了防火墙规则的票证以允许新地址。我得到了它。谢谢
猜你喜欢
  • 1970-01-01
  • 2020-12-14
  • 2019-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多