C# WinC Winforms应用程序发送电子邮件失败:无法解析远程名称:“smtp.gmail.com;操作超时

C# WinC Winforms应用程序发送电子邮件失败:无法解析远程名称:“smtp.gmail.com;操作超时,c#,.net,winforms,windows-forms-designer,smtpclient,C#,.net,Winforms,Windows Forms Designer,Smtpclient,我的WinC程序发送电子邮件。我使用了MailMessage和SmtpClient。 在SmtpClient的构造函数中,我传递了smtp.gmail.com和端口587 这在我朋友的计算机上工作,但是当我尝试时,我得到以下错误: System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebException: The remote name could not be resolved: 'smtp.gma

我的WinC程序发送电子邮件。我使用了MailMessage和SmtpClient。 在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

尝试一些基本的网络故障排除。首先,确保您可以通过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缓存,然后重试。如果不是在prod服务器上,请尝试重新启动

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


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

尝试一些基本的网络故障排除。首先,确保您可以通过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缓存,然后重试。如果不是在prod服务器上,请尝试重新启动

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


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

将SmtpClient中的EnableSsl标记为true


smtpClient.EnableSsl=true

将SmtpClient中的EnableSsl标记为true


smtpClient.EnableSsl=true

请根据您的具体问题更改标题。阅读,这看起来只是一个简单的DNS错误,你无法访问smtp.gmail.com如果你ping smtp.gmail.com会发生什么?回复评论有什么用?“这些都是很好的答案。”卢克普莱特现实地说,因为这不是一个很好的问题。错误信息会准确地告诉他出了什么问题,因此任何正确的答案只会重复他已经得到的信息。特别是,解决DNS问题不在堆栈溢出的主题中。请用您的特定问题更改标题。阅读,这看起来只是一个简单的DNS错误,你无法访问smtp.gmail.com如果你ping smtp.gmail.com会发生什么?回复评论有什么用?“这些都是很好的答案。”卢克普莱特现实地说,因为这不是一个很好的问题。错误信息会准确地告诉他出了什么问题,因此任何正确的答案只会重复他已经得到的信息。而且,具体来说,解决DNS问题并不是关于堆栈溢出的主题。