我与一家知名的托管服务提供商签订了托管协议,托管几台面向互联网的服务器。我们在这些服务器上部署了几个应用程序,这些应用程序会向我们发送各种电子邮件以供报告。
语境:
每台服务器都运行 Windows Server 2003 R2,并安装了 IIS 6.0 SMTP 服务。
每个应用程序都配置为使用 IIS 的本地实例来发送电子邮件。
每个服务器的外部 IP 地址都映射到特定域,例如:
- 服务器1.mydomain.com
- 服务器2.mydomain.com
这些电子邮件是从公司域名发送的,而不是托管服务器的域名(例如:[电子邮件保护])
症状:
这些应用程序发送的少数电子邮件 (<1%) 似乎是重复的。这些电子邮件在内容和内容上都是完全重复的和邮件标头。
修复:
我联系了我的托管服务提供商,他们告诉我这是一个常见问题并指导我:
- 将邮件服务器服务的 HELO 响应更改为 FQDN(server1.mydomain.com && server2.mydomain.com)
- 创建 DNS A 记录,将邮件服务器的 FQDN 解析为发送邮件服务器的主 IP 地址。
- 创建 PTR 记录,将您的主 IP 地址解析回邮件服务器的 FQDN
- 在发送域 (mycompanydomain.com) 的 DNS 区域文件中,为托管服务器添加适当的 SPF 记录。例如:v=spf1 a mx include:mydomain -all
问题仍然存在:
我按照上面规定做了所有更改,但我有点犹豫,因为这些步骤似乎表明它们更多的是为了阻止你的消息被阻止,而不是为了阻止它们被重复 - 但我当然不是这些问题的专家。
我修复此问题已经五天了,但问题仍然存在。
我确信这些问题不是软件中的错误,因为它们是安装在 2 个不同服务器上的 4 个不同应用程序,它们都表现出这种奇怪的行为。在我们的 UAT 环境中也没有见过这种行为。
我的主机建议的这个修复方法正确吗?如果不对,有谁知道这个问题可能是什么原因造成的?
非常感谢
答案1
我运行了 20 多个这样的机器 - W2K3R2 和 IIS SMTP,但从未见过这种行为。正如您所怀疑的,他们“修复”中的所有步骤都是为了提高您的邮件在另一端被接收的可能性,而不是被阻止为垃圾邮件。
您是否 100% 确定重复发生在源头?我过去遇到过收件人邮件系统上创建重复电子邮件的问题。如果发生这种情况,所有属性都会相同。
我想我会做的另一件事是启动托管机器上的 IIS SMTP 日志记录并查看这些日志。那里可能会有一些线索。如果 IIS 发送了 2 份邮件副本,您将在该日志中看到 2 个条目。如果那里有 2 个条目,那么罪魁祸首可能是您用于将邮件提交给 IIS 的机制,您还没有详细讨论过。您究竟是如何做到的?
答案2
好吧,我在这里扮演魔鬼鳄梨,但只是碰巧,我会提到它 - 您是否使用某种排队技术在应用程序中发送电子邮件? 我问您是否使用服务总线风格的架构,并且可能正在处理消息,从而发送电子邮件,但由于某种原因,然后出现异常,这意味着服务总线会重试处理该消息。
或者别的什么。我可能叫错了金合欢树,但还是值得一提。:)