尝试在asp.net中发送电子邮件时出错

时间:2011-09-29 04:08:34

标签: c# asp.net email

我试图在我的程序中实现一个电子邮件选项.. 引发了以下异常

+$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());

        }

2 个答案:

答案 0 :(得分:3)

或许检查您用于发送的服务器(smtp)是否将发件人计算机IP列入白名单。我实际上并不知道这是如何完成的,但您的基础设施人员可以提供帮助。似乎smtp服务器已经有所保障。

答案 1 :(得分:0)

当我们尝试发送邮件时,有很多配置设置必须包括一些背景信息。 (邮件服务器,防病毒,防火墙,路由器,反间谍软件等......)。您是否检查过您的SMTP服务器(服务)是否已启用?

我不确定100%以下步骤可以解决您的问题,但您可以通过它检查您的SMTP服务器配置:

  1. 在控制面板&gt;&gt;管理工具&gt;&gt;互联网信息服务。
  2. 打开计算机的节点,右键单击“默认SMTP虚拟服务器”节点,然后选择“属性”。
  3. 在“访问”选项卡中,单击“连接”。
  4. 选择仅下面的列表,单击添加并添加IP 127.0.0.1。这限制了与本地计算机(即localhost)的连接。关闭“连接”对话框。
  5. 单击“中继”并重复步骤4以仅允许localhost通过此服务器进行中继。
  6. 对于IIS7,您可以通过以下方式完成:

    1. 打开IIS并选择计算机的节点,双击右侧面板上的“SMTP电子邮件”选项。
    2. 您可以在那里设置SMTP服务器和端口详细信息。
    3. 在防火墙或路由器(或两者)中,关闭传入端口25.这是一项重要的安全措施,可防止垃圾邮件发送者找到您的SMTP服务器并使用它来中继垃圾邮件。

      希望这能解决您的问题。