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

本文关键字:电子邮件 出错 asp net | 更新日期: 2023-09-27 18:10:04

我试图在我的程序中实现一个电子邮件选项。抛出以下异常

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

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

检查您使用的发送服务器(smtp)是否已将发送方机器IP列入白名单。我不知道这是怎么做到的但是你们的基础设施人员可以帮上忙。

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

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

  1. 在控制面板>>管理工具>> Internet信息服务。
  2. 打开计算机的节点,右键单击默认SMTP虚拟服务器节点并选择属性。
  3. 在"访问"页签中单击"连接"。
  4. 选中"只在下面列表",单击"新建",添加IP 127.0.0.1。这将连接限制到本地计算机,即localhost。关闭"连接"对话框。
  5. 单击"中继",重复步骤4,只允许本地主机通过该服务器中继。

对于IIS7,您可以这样做:

  1. 打开IIS并为您的计算机选择节点,双击右侧面板的"SMTP电子邮件"选项。
  2. 您可以设置SMTP服务器和端口的详细信息。

在您的防火墙或路由器(或两者)中,关闭传入端口25。这是一项重要的安全措施,可以防止垃圾邮件发送者找到您的SMTP服务器并使用它来转发垃圾邮件。