2011-09-29 115 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服务器并使用它来转发垃圾邮件。

希望这会解决您的问题。