【问题标题】:C# Winforms Application Failure in sending Email: The remote name could not be resolved: 'smtp.gmail.com ; Operation Timed outC# Winforms 应用程序发送电子邮件失败:无法解析远程名称:'smtp.gmail.com;操作超时
【发布时间】:2013-03-04 18:09:03
【问题描述】:

我的 WinForms C# 程序发送电子邮件。我用过MailMessageSmtpClient。 在SmtpClient的构造函数中,我传递了smtp.gmail.com和587端口。

这在我朋友的电脑上运行,但是当我尝试它时,我得到了这个错误:

System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebException: The remote name could not be resolved: 'smtp.gmail.com'

System.Net.Mail.SmtpException: Operation Timed out

如何解决此错误?为什么它特定于我的计算机?

If i use port 25 i get exception : Operation Timed out

If i use port 587 i get exception : The remote name could not be resolved: 'smtp.gmail.com'

if i use port 465 i get exception : Operation Timed out

【问题讨论】:

  • 请根据您的具体问题更改标题。阅读FAQHow to Ask
  • 这只是一个简单的 DNS 错误,您无法访问 smtp.gmail.com
  • 如果你ping smtp.gmail.com会发生什么?
  • 在 cmets 中回答有什么用?他们是很好的答案。
  • @LukePuplett 实际上,因为这不是一个很好的问题。错误信息确切地告诉他出了什么问题,所以任何正确的答案只会反刍他已经得到的信息。而且,具体来说,解决 DNS 问题并不是 Stack Overflow 的主题。

标签: c# .net winforms windows-forms-designer smtpclient


【解决方案1】:

尝试一些基本的网络故障排除。首先,确保您可以通过 IP 地址 ping 某些东西,这不需要 DNS 工作,所以尝试ping 173.194.41.86 看看您是否得到一些回复。

然后使用 ping www.gmail.com 从您的计算机上 ping www.gmail.com。这应该告诉您您的网络是否可以将任何名称解析为 IP 地址。您应该在与上述相同的响应中获得四个 IP 地址 ping。

如果没有,那么您的 DNS 配置不正确。如果您有静态 IP 地址,则需要与网络管理员核实或将 DNS 服务器设置为与工作机器相同。如果它是动态的,那么您可以尝试ipconfig /renew 从 DHCP 服务器获取最新设置。

如果 ping www.gmail.com 有效,请尝试 ping smtp.gmail.com 以查看 smtp 主机是否正在解析。如果没有,那么仍然存在 DNS 问题,但仅影响 smtp 主机名。

尝试ipconfig /flushdns 清除本地 DNS 缓存,然后重试。如果不在产品服务器上,请尝试重新启动。

您还可以使用nslookup 来检查 DNS 名称解析,也可以在 PowerShell 中使用 Resolve-DnsName,但可能仅在 3.0 中。

另外,检查所有防火墙设置。

【讨论】:

    【解决方案2】:

    将 SmtpClient 中的 EnableSsl 标记为 true。

    smtpClient.EnableSsl = true;

    【讨论】:

      猜你喜欢
      • 2017-08-20
      • 1970-01-01
      • 1970-01-01
      • 2014-06-15
      • 2018-12-30
      • 1970-01-01
      • 2015-03-26
      • 2016-07-26
      • 2012-11-13
      相关资源
      最近更新 更多