2009-10-20 197 views
0

我有一個奇怪的問題,我不知道爲什麼。需要幫助設置SMTP

我在webconfig

<add key="SMTP" value="mail.reliablesite.net"/> 
    <add key="Email" value="Email"/> 
    <add key="EMAIL_PASSWORD" value="Password"/> 
    <add key="FROM_PORT" value="2525"/> 

有這樣的現在,當我通過本地主機測試SMTP一切都很好,我發送SMTP和一切。我上傳我的webconfig加上我所有的其他文件,我嘗試測試我的smtp並沒有發送消息。完全相同的代碼和一切。

所以我不明白爲什麼這不起作用。

這就像我的代碼的精簡版。

public class MyTestController : Controller 
    { 
     // 
     // GET: /MyTest/ 

     public void Index() 
     { 
      MailMessage mail = new MailMessage(); 
      mail.From = new MailAddress("From"); 
      mail.To.Add("To"); 
      mail.Subject = "subject"; 
      mail.IsBodyHtml = true; 
      mail.Body = "body"; 

      NetworkCredential credential = new NetworkCredential("EmailFromMyHostingSite", "Password"); 

      SmtpClient smtp = new SmtpClient(); 
      smtp.Host = "mail.reliablesite.net"; 
      smtp.Port = 2525; 
      smtp.Credentials = credential; 

      smtp.Send(mail); 
      mail.Dispose(); 

     } 

    } 
+0

您正在上傳的服務器是否阻止任何端口? – 2009-10-20 01:52:04

+0

mail.reliablesite.net是什麼服務器,以及您從哪個服務器發送電子郵件?就像Charlie Brown所說的那樣,確保從您的Web服務器到郵件服務器的端口(2525 ??)已打開,並且不會被託管服務提供商阻止。 – 2009-10-20 02:03:31

+0

http://support.reliablesite.net/KB/a93/alternate-smtp-port.aspx?KBSearchID=5465 mail.reliablesite.net是我的託管服務器smtp服務器 – chobo2 2009-10-20 02:27:35

回答

0
  1. 我建議使用System.Net設置,而不是appsettings。這可確保您在調用SMTPClient上的任何方法或屬性時自動獲取設置。

  2. 現在 - 未來你的問題,正如其他人指出,25 SMTP端口。有時,SMTP被配置爲在服務器上使用特定的端口,您需要在配置文件中配置該端口。您可以嘗試使用以下代碼通過代碼中的GMAIL帳戶發送郵件。

使用try catch來包裹smtp.send()和檢查,如果你得到任何異常。

0

由於SMTP默認端口是25,你可能只需要更新您的配置信息。

+0

我試過,以及沒有工作。 – chobo2 2009-10-20 02:28:13

0

只需要清楚,.Port屬性是指郵件服務器的端口,而不是您要發送電子郵件的端口。

現在,就這麼說,mail.reliablesite.net確實有一個運行在端口2525的SMTP服務(我剛剛檢查過,你可以telnet到它,並獲得歡迎響應)。

接下來的問題是「你怎麼知道電子郵件沒有發送?」你沒有提到有關例外的任何事情。你是說它只是沒有出現在你的收件箱?如果是,請檢查垃圾郵件文件夾。

如果這不起作用,那麼我會建議啓用System.Net.Mail日誌記錄,並檢查日誌文件。

+0

據我所知,我沒有得到例外。首先,我使用Elmah記錄任何未處理的期望,但未記錄。我也沒有看到在執行smtp發送的頁面上出現任何異常。我檢查了垃圾郵件文件夾,並且沒有任何消息來自我。那麼我怎麼做這個System.Net.Mail日誌? 謝謝 – chobo2 2009-10-20 16:25:55

+0

嗨,我試着添加你需要的web.config開關,但註釋部分不允許有足夠的字符。不過,我在這裏寫了一篇文章: http://systemnetmail.com/faq/4.10.aspx – 2009-10-21 13:57:03