繁体   English   中英

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

[英]Error while trying to send an email in 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());

        }

也许检查用于发送(smtp)的服务器是否将发送方计算机IP列入白名单。 我实际上不知道该如何完成,但是您的基础架构人员可以提供帮助。 似乎smtp服务器已得到某种程度的保护。

当我们尝试发送邮件时,必须进行许多配置设置,包括一些后台操作。 (邮件服务器,防病毒软件,防火墙,路由器,反间谍软件等)。 您是否检查了SMTP服务器(服务)是否已启用?

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

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

对于IIS7,您可以通过以下方法实现:

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

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

希望这能解决你的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM