2011-09-29 99 views
1

我是想在我的程序impliment電子郵件選項發送電子郵件.. 的follwing異常被拋出錯誤,而試圖在asp.net

+$exception {"The server rejected one or more recipient addresses. The server response 
was: 550 5.7.1 <"mail-id">... Relaying denied. IP name lookup failed [172.25.9.23]\r\n"}  
System.Exception {System.Web.HttpException} 

這是我做了什麼.... ..

 MailMessage objEmail = new MailMessage(); 
     objEmail.To  = txtTo.Text; 
     objEmail.From = txtFrom.Text; 
     objEmail.Cc  = txtCC.Text; 
     objEmail.Subject = txtSubject.Text; 
     objEmail.Body = txtBody.Text; ; 
     objEmail.Priority = MailPriority.High; 

     WebMsgBox.Show("test"); 
     SmtpMail.SmtpServer = "someserver.com"; 
     MailAttachment attach = new MailAttachment(@"D:\email.txt"); 
     objEmail.Attachments.Add(attach); 

     try 
     {   
      SmtpMail.Send(objEmail); 
      WebMsgBox.Show("Your Email has been sent sucessfully - Thank you"); 
     } 
     catch (Exception exc) 
     { 
      WebMsgBox.Show("Send failure: " + exc.ToString()); 

     } 
+0

您是否檢查了所有收件人地址?確保它們拼寫正確。 – Amr

回答

3

也許檢查您使用的發送服務器(smtp)是否將發件人計算機IP列入白名單。我實際上並不知道這是如何完成的,但你的基礎設施人員可以提供幫助。似乎smtp服務器已被保護一些。

+0

借調。錯誤消息表明您的客戶端IP 172.25.9.23不在服務器配置爲接收出站消息的那些客戶端中。 – tripleee

+0

@:tripleee謝謝....你的rite .... –

+0

任何一個可以幫助我使用Gmail的SMTP服務器? –

0

當我們嘗試發送郵件時,有很多配置設置必須確定,包括一些背景信息。 (郵件服務器,防病毒軟件,防火牆,路由器,反間諜軟件等)。你有沒有檢查你的SMTP服務器(服務)是否啓用?

我不是100%肯定,下面的步驟解決您的問題,但你可以通過它檢查你的SMTP服務器的配置:

  1. 在控制面板>>管理工具>> Internet信息服務。
  2. 打開您的計算機的節點,右鍵單擊「默認SMTP虛擬服務器」節點並選擇「屬性」。
  3. 在訪問選項卡中,單擊連接。
  4. 選擇僅下面的列表,單擊添加並添加IP 127.0.0.1。這限制了連接到本地計算機,即本地主機。關閉連接對話框。
  5. 單擊中繼並重復步驟4以僅允許本地主機通過此服務器進行中繼。

對於IIS7,你可以做到這一點:

  1. 打開IIS,並選擇您的計算機的節點,在上右側面板中的「SMTP電子郵件」選項,雙擊。
  2. 您可以在此設置SMTP服務器和端口詳細信息。

在防火牆或路由器(或兩者)中,關閉傳入端口25.這是一項重要的安全措施,可防止垃圾郵件發件人找到您的SMTP服務器並使用它來轉發垃圾郵件。

希望這會解決您的問題。