簡體   English   中英

無法在asp.net中使用SmtpClient發送電子郵件

[英]Unable to send Email Using SmtpClient in asp.net

如果增加超時屬性,則無法在服務器中發送電子郵件。

//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);

在我的應用程序中,我想發送近1000人的“ B”日郵件。 因此,我將向“生日”過的人發送電子郵件,並將“密件抄送”發送給其余近1000名員工。如果不添加密件抄送,則工作正常。如果我要添加密件抄送(1000人),則類似“暫停”。 我添加了將近1個小時的超時時間來克服這一問題。 我知道這不是一個好習慣,但是當我添加它時,它在本地但不在服務器中工作。 在服務器中,它給出了錯誤“郵件結束失敗”。假設如果我將超時時間減少到10分鍾,則它沒有給出任何異常但沒有收到郵件。 我想知道我在這里什么都沒有嗎? 這是服務器配置問題嗎? 請幫我解決這個問題

這是因為一次增加了太多人 嘗試在網絡瀏覽器上對電子郵件執行相同的操作,它將不允許您發送電子郵件。

要解決此問題,請嘗試從1000封電子郵件(例如100或200組)中創建多個組,然后將郵件發送到這些組。

注意 1)檢查防火牆設置是否已關閉2)檢查是否已安裝防病毒軟件,在發送電子郵件時防病毒軟件要求允許或不允許,否則您可以進入防病毒設置並禁用郵件檢查選項

我想分享我發送電子郵件的經驗。我也曾經發送過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. }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM