2013-10-30 122 views
0

我有幾個網站,我使用smtp客戶端發送郵件。直到今天,所有工作都正常,但突然間,當我調試任何網站,我嘗試發送郵件,我得到超時錯誤。如果我發佈我的網站並嘗試從它發送電子郵件,它工作正常嗎?smtp電子郵件不從我的本地主機發送,但從我的服務器發送

SmtpClient mySmtpClient = new SmtpClient("mail.ACCOUNT.co.za"); 

    // set smtp-client with basicAuthentication 
    mySmtpClient.UseDefaultCredentials = false; 
    System.Net.NetworkCredential basicAuthenticationInfo = new 
     System.Net.NetworkCredential("ACCOUNTNAME", "PASSWORD"); 
    mySmtpClient.Credentials = basicAuthenticationInfo; 

    // add from,to mailaddresses 
    MailAddress from = new MailAddress("ACCOUNTEMAIL"); 
    MailAddress to = new MailAddress("EMAILADDRESS"); 
    MailMessage myMail = new System.Net.Mail.MailMessage(from, to); 

    // add ReplyTo 
    MailAddress replyto = new MailAddress("EMAILADDRESS"); 
    myMail.ReplyTo = replyto; 

    // set subject and encoding 
    myMail.Subject = "Password Request"; 
    myMail.SubjectEncoding = System.Text.Encoding.UTF8; 

    // set body-message and encoding 
    myMail.Body = "MESSAGE"; 
    myMail.BodyEncoding = System.Text.Encoding.UTF8; 
    // text or html 
    myMail.IsBodyHtml = true; 
    mySmtpClient.Send(myMail); 

昨天工作正常,我沒有改變任何東西。

+2

這顯然是一個網絡問題,而不是您的代碼的問題。 – James

+0

你收到的錯誤究竟是什麼?它聽起來像一個網絡錯誤。另外,你的問題是什麼? –

+0

謝謝你的評論。這是每個人都說的,但我無法弄清楚。我的網絡很好。自從昨天以來沒有任何變化:( –

回答

2

這可能是一個網絡問題,您不允許從您的計算機訪問smtp服務器。

調試時,我通常禁用網絡發送smtp郵件,而是將所有外發郵件重定向爲保存爲臨時目錄中的文件。這使得調試變得容易很多,並且沒有真正用戶意外收到電子郵件的風險。

將以下部分添加到您的開發中web.config - 無需更改代碼。從http://coding.abel.nu/2012/04/send-smtpclient-mails-to-disk/

+0

謝謝。我將改變我的web.config文件作爲臨時解決方案,直到我能找出是什麼原因造成這種情況,這是非常重要的對於我發送這些測試郵件,但現在我可以使用你的解決方案 –

+0

我做了一個telnet,似乎我正在重定向。我不知道爲什麼 –

0

好採取

<system.net> 
    <mailSettings> 
    <smtp deliveryMethod="SpecifiedPickupDirectory" from="[email protected]"> 
     <specifiedPickupDirectory pickupDirectoryLocation="c:\temp" /> 
     <!-- The network host setting isn't used, but without it an exception 
     occurs when disposing of the SmtpClient.--> 
     <network host="localhost"/> 
    </smtp> 
    </mailSettings> 
</system.net> 

樣品,如果任何人有這個問題。做一個telnet,看看你是否可以連接到你的SMTP服務器。我的問題是我的網絡在我不知道的情況下發生了變化,並開始阻止我的電子郵件。

相關問題