尝试在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());
}
检查您使用的发送服务器(smtp)是否已将发送方机器IP列入白名单。我不知道这是怎么做到的但是你们的基础设施人员可以帮上忙。
当我们尝试发送邮件时,有很多配置设置必须是正确的,包括一些背景内容。(邮件服务器、杀毒软件、防火墙、路由器、反间谍软件等)。您是否检查了SMTP服务器(服务)是否启用?
我不确定下面的步骤100%解决你的问题,但你可以检查你的SMTP服务器配置:
- 在控制面板>>管理工具>> Internet信息服务。
- 打开计算机的节点,右键单击默认SMTP虚拟服务器节点并选择属性。
- 在"访问"页签中单击"连接"。
- 选中"只在下面列表",单击"新建",添加IP 127.0.0.1。这将连接限制到本地计算机,即localhost。关闭"连接"对话框。
- 单击"中继",重复步骤4,只允许本地主机通过该服务器中继。
对于IIS7,您可以这样做:
- 打开IIS并为您的计算机选择节点,双击右侧面板的"SMTP电子邮件"选项。 您可以设置SMTP服务器和端口的详细信息。
在您的防火墙或路由器(或两者)中,关闭传入端口25。这是一项重要的安全措施,可以防止垃圾邮件发送者找到您的SMTP服务器并使用它来转发垃圾邮件。