我有这个发送电子邮件的 asp.net 应用程序。SMTP 服务器是 iis6。这些电子邮件代表我们的应用程序用户发送,并且它们具有不同的域名。大多数电子邮件提供商(如 gmail 和 yahoo)都会接受这些电子邮件,但有些则不会,例如 AOL。
这是用户几分钟后从我们的 SMTP 服务器收到的消息:
主题:传递状态通知(失败)这是自动生成的传递状态通知。由于无法成功连接到目标邮件服务器,因此无法将消息传递给以下收件人。
答案1
您发布的消息是连接失败,这并不一定意味着他们拒绝了您的电子邮件,更可能是 DNS 问题或其他连接问题。需要检查/考虑的一些事项包括:
您能否检查您的应用程序服务器以确保它能够正确解析您尝试发送电子邮件的域名的 DNS 和 MX 记录。
您能从该服务器 telnet 到那些域吗?如果可以,您会得到什么样的响应?
您发送的域名是否有 spf 记录,如果有,您发送的 IP 是否包含在 spf 记录中?
对于您发送信息的 IP 地址和您发送信息的域名,反向 DNS 记录是否设置正确?
理想情况下,在任何人真正给您一个关于该问题的明确答案之前,您需要有一个 telnet 或类似的东西并获得服务器响应,告诉您为什么您无法连接。
答案2
一种可能的原因是这些服务器将您的电子邮件标记为垃圾邮件。即使不是真的垃圾邮件,许多电子邮件提供商会阻止那些不完全正确或发送给大量人群的邮件。
我们曾经遇到过这种情况,不得不联系一些提供商以获得白名单。我们联系他们并解释了我们的电子邮件优惠券计划(选择加入,完全符合 CAN-SPAM)并向他们提供了详细信息后,他们就将我们添加到了白名单中。
有很多事情都可能让您被标记为垃圾邮件发送者。以下是一些需要检查的事情:
- 发出的电子邮件数量。
- 电子邮件上的 SMTP 标头与您发送的域不匹配。(例如:当电子邮件来自您自己的域时,使用 @microsoft.com 作为发件人地址。)如果您使用的是 @yourcompanyname.com 之类的域,但 SMTP 服务器在其他域下注册或未在您的域下注册,则可能会意外发生这种情况。
以下是一些你可能会觉得有用的链接
http://searchwarp.com/swa209211.htm
http://www.wilsonweb.com/05/020529b.htm
http://searchdomino.techtarget.com/news/article/0,289142,sid4_gci1192720,00.html(尽管有 URL,但实际上并非特定于 Domino)
答案3
您的应用程序托管在谁那里?我曾遇到过共享主机的问题,其服务器上托管的所有网站都被列入了垃圾邮件黑名单。
您的应用程序没有发送垃圾邮件并不意味着共享主机上的其他应用程序没有发送垃圾邮件。由于它是共享主机,因此所有 smtp 流量都来自同一来源,最终可能会被阻止。
答案4
NDR 来自哪里?大概是您的 IIS SMTP 服务器,尽管我并不经常使用 IIS SMTP,所以我不确定 IIS SMTP 服务器是否能够生成 NDR。
无论如何,请确保在 IIS SMTP 服务器的属性中启用日志记录,然后在收到 NDR 后检查日志。如果日志文件中没有与生成 NDR 的电子邮件相对应的条目,那么我怀疑 IIS 服务器的 DNS 客户端无法解析收件人域的 MX 记录。如果日志文件中有与生成 NDR 的电子邮件相对应的条目,那么日志文件中的 SMTP 状态代码应该会提示您发生了什么。