2013-03-04 16 views
1

我的WinForms C#程序發送電子郵件。我用MailMessageSmtpClient。 在SmtpClient構造我通過smtp.gmail.com和端口587C#Winforms應用程序發送電子郵件失敗:遠程名稱無法解析:'smtp.gmail.com;操作超時

這是工作我朋友的電腦上,但是當我嘗試它,我得到這個錯誤:

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 
+1

請更改您的標題與您的具體問題。閱讀[常見問題]和[問] – 2013-03-04 18:09:39

+4

這看起來像一個簡單的DNS錯誤,你不能達到smtp.gmail.com – 2013-03-04 18:10:08

+1

如果你ping ping smtp.gmail.com會發生什麼? – GalacticCowboy 2013-03-04 18:13:38

回答

4

嘗試一些基本的網絡故障排除。首先,確保您可以通過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服務器獲取最新的設置。

如果pinging www.gmail.com工作,然後嘗試ping smtp.gmail.com看看smtp主機是否解決。如果沒有,那麼仍然存在DNS問題,但隻影響smtp主機名。

嘗試ipconfig /flushdns清除本地DNS緩存並重試。嘗試重新啓動,如果不在prod服務器上。

您也可以使用nslookup來檢查DNS名稱解析,也可以使用PowerShell中的Resolve-DnsName,但可能只有3.0。

另外,檢查任何防火牆設置。

+0

配得上投票 – amd 2013-06-12 17:09:55

0

將SmtpClient中的EnableSsl標記爲true。

smtpClient.EnableSsl = true;

相關問題