我们的一个客户从我们的应用程序收到了重复的电子邮件,尽管据我从应用程序和 SMTP 日志中了解,我们只发送了一次。
电子邮件在发送和接收过程中可能出现哪些重复?
更多详细信息:电子邮件是通过 IIS6 发送的。用户收到的重复邮件实际上是完全相同的重复邮件,甚至邮件头也是如此(包括相同的 Message-ID)。SMTP 源日志中没有明显的重复 - 我自己不是系统管理员,因此我对此没有太多经验,但它似乎普通的:
2012-02-16 17:54:45 127.0.0.1 portal PORTAL 127.0.0.1 MAIL +FROM:<[email protected]> 250 0 59 46
2012-02-16 17:54:45 127.0.0.1 portal PORTAL 127.0.0.1 RCPT +TO:<[email protected]> 250 0 33 30
2012-02-16 17:54:45 127.0.0.1 portal PORTAL 127.0.0.1 DATA <[email protected]> 250 0 140 10654
然后(我假设)几行之后是目标邮件服务器本身的响应:
2012-02-16 17:54:45 208.186.207.146 OutboundConnectionResponse PORTAL - - 220+smtp.redacted.com+ESMTP+Service+ready 0 0 41 0
2012-02-16 17:54:45 208.186.207.146 OutboundConnectionCommand PORTAL - EHLO portal.mycompany.com 0 0 4 0
2012-02-16 17:54:45 208.186.207.146 OutboundConnectionResponse PORTAL - - 250-Requested+mail+action+okay,+completed 0 0 41 0
2012-02-16 17:54:45 208.186.207.146 OutboundConnectionCommand PORTAL - MAIL FROM:<[email protected]>+SIZE=10998 0 0 4 0
2012-02-16 17:54:45 208.186.207.146 OutboundConnectionResponse PORTAL - - 250+Requested+mail+action+okay,+completed 0 0 41 0
2012-02-16 17:54:45 208.186.207.146 OutboundConnectionCommand PORTAL - RCPT TO:<[email protected]> 0 0 4 0
2012-02-16 17:54:46 208.186.207.146 OutboundConnectionResponse PORTAL - - 250+Requested+mail+action+okay,+completed 0 0 41 0
2012-02-16 17:54:46 208.186.207.146 OutboundConnectionCommand PORTAL - DATA - 0 0 4 0
2012-02-16 17:54:46 208.186.207.146 OutboundConnectionResponse PORTAL - - 354+Start+mail+input;+end+with+<CRLF>.<CRLF> 0 0 44 0
(……然后需要几秒钟直到……)
2012-02-16 17:54:50 208.186.207.146 OutboundConnectionResponse PORTAL - - 250+Requested+mail+action+okay,+completed 0 0 41 0
2012-02-16 17:54:50 208.186.207.146 OutboundConnectionCommand PORTAL - RSET - 0 0 4 0
2012-02-16 17:54:50 208.186.207.146 OutboundConnectionResponse PORTAL - - 250+Requested+mail+action+okay,+completed 0 0 41 0
答案1
客户端的电子邮件服务器可能包含某些规则(如果是 Exchange 服务器,则称为“传输规则”),这些规则会莫名其妙地复制您的入站电子邮件。您需要向客户提出此问题。
此外,客户的电子邮件程序可能具有逻辑性较差的简单收件箱规则。我见过不少电子邮件问题,都是由于邮件客户端规则设计不当而导致的,这些规则会无意中复制、移动或删除不该复制、移动或删除的电子邮件。
答案2
我曾见过两种这样的情况。
- 消息在不同时间或作为不同的消息传递给多个别名。这种情况经常发生,因为我使用了很多别名。检查标题中的消息 ID,它应该不同。原始地址可能包含在收到的标题或信封标题中(如果存在)。
- 服务器接受了要传送的消息,但发送给它的服务器没有收到接受消息。它会重试。在这种情况下,消息 ID 标头将具有相同的值,但收到的标头将有所不同。收到的标头开始不同的服务器就是问题的根源。根据我的经验,这是因为防火墙连接超时太快。
无论哪种情况,您都需要邮件头来诊断问题。