2014-09-29 68 views
0

如果增加超時屬性,我無法在服務器中發送電子郵件。無法在asp.net中使用SmtpClient發送電子郵件

//set the SMTP info 
       SmtpClient smtp = new SmtpClient(); 
       smtp.Host = strServer; //IP Mail Server 
       smtp.Timeout = 70 * 60 * 1000; 
       smtp.Port = Convert.ToInt16(Port); //Port 
       smtp.Credentials = new System.Net.NetworkCredential(FromAddress, strPassword);  
       //send the email 
       smtp.Send(Msg); 

在我的申請中,我想發送'B'-day郵件將近1000人。所以我會發送電子郵件到「那些誰擁有生日,並把」密件抄送「其餘員工近1000.如果不加密密件抄送它是完美的工作。如果我添加密件抄送(1000人)它的錯誤,如」時間到」。我加了將近1小時的時間來克服這一點。我知道這不是一個好習慣,但是當我添加它時,它在本地而不是在服務器上工作。在服務器上它是givng錯誤「失敗結束郵件」。假設我減少超時到10分鐘,它不給任何例外,但沒有得到郵件。我想知道我在這裏錯過了什麼?這是服務器配置問題..?請幫我解決這個問題

+0

嘗試增加的1000人在一組,併發送電子郵件到組。 – Maheep 2014-09-29 05:13:38

+0

@Maheep首先這1000人是在一個組中,那麼它就不能工作。所以我一個接一個地加入了密送。 – nichu09 2014-09-29 05:16:36

回答

1

這是,因爲一次增加太多人。嘗試使用您的電子郵件在網頁瀏覽器上做同樣的事情,它不會允許您發送電子郵件。

要解決此問題,請嘗試製作1000個電子郵件中的多個組類似於100或200組,並將郵件發送到這些組。

注意 1)檢查防火牆設置是關閉 2)檢查是否安裝了防病毒軟件,在發送電子郵件的防病毒要求,允許與否或者你可以去防病毒設置和禁用郵件檢查選項

+0

我試過那個也每E時間發送電子郵件我把100人在密件抄送。但是當我這樣做時,我得到了像ATT0005這樣的附件文件。第二次我得到一個文件第三次2文件第四次3像這樣的文件。但在本地密送中與1000人合作 – nichu09 2014-09-29 05:26:01

+0

請清除我的兩個疑惑:-1)你是什麼意思,但「在與1000人合作的本地密送」2)作爲附件,你必須在每個附件中清除附件列表添加你會得到附件數量增加。 – 2014-09-29 05:56:16

+0

i)嗨,當我在我的本地sysytem測試這個應用程序的工作很好.2)我不在電子郵件中添加任何附件 – nichu09 2014-09-29 07:36:13

0

我想分享我發送電子郵件的經驗。我還用來發送B日電子郵件,但在我的情況下,通常有100-150人,所有郵件都成功發送。我爲此做了一個Web服務,其唯一的任務是發送電子郵件。但是,在電子郵件開始成功傳遞之前,我們在本地機器上測試了一切正常,但當我們在服務器上測試時,我面臨同樣的問題,並導致這種失敗的原因是我們在.Net Framework 2.0中部署了我們的Web服務,而不是我們將其更改爲4.0並使用10000,5000,1000封電子郵件再次進行了測試,並且它並沒有正常運行所有電子郵件,但大多數電子郵件都已到達目的地。還有一件事要提及的是,我們發送電子郵件的地址被電子郵件服務器中的網絡部門限制爲只發送100封電子郵件。同時儘量避免發送來自一個發件人和一個電子郵件服務器的太多電子郵件,因爲您可以列入黑名單。

摘要

  • 被你使用.NET Framework 2.0,如果是 切換到4.0所有檢查的首先。
  • 請確保網絡部門在 電子郵件服務器上沒有任何限制,並且還要解決您用作發件人的限制。
  • 將所有的代碼放在using語句中以確保對象被丟棄。
  • 發送您的電子郵件在大塊(一次約100)。

    using() { //Place you email sending code here. }