什么可能导致用户收到重复的电子邮件?

我们的客户之一是从我们的应用程序接收重复​​的电子邮件,尽pipe据我所知应用程序和SMTP日志,我们只发送一次。

发送邮件和接收邮件之间可能发生重复的方式有哪些?

一些更多的细节:电子邮件正在通过IIS6发送。 用户收到的副本确实是重复的,正好在消息头(包括相同的消息ID)。 在SMTP源日志中没有明显的重复 – 我自己不是系统pipe理员,所以我没有太多的经验,但似乎很正常:

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 

客户的电子邮件服务器可能有一定的规则(“传输规则”是命名,如果它是一个Exchange服务器),莫名其妙地复制您的入站电子邮件。 你需要把这个问题与客户端。

此外,客户的电子邮件程序可能有简单的收件箱规则,具有较差的逻辑。 我看到了不止一些电子邮件问题,这是由于devise不当的邮件客户端规则造成的,它不经意地复制,移动或删除了电子邮件,而这些电子邮件并不是有意的。

有两种情况我见过。

  • 消息在不同的时间传递给多个别名,或者作为不同的消息传递给多个别名。 当我使用大量别名时,这发生了很多。 检查标题的消息ID应该是不同的。 原始地址可以包含在接收到的标题中,或者包含在信头中(如果存在的话)。
  • 服务器接受了要发送的消息,但发送给它的服务器没有收到接受消息。 它重试。 在这种情况下,消息ID头将具有相同的值,但接收到的头将不同。 接收到的头文件不同的服务器是问题出现的地方。 根据我的经验,这是一个防火墙太快的连接超时。

无论哪种情况,您都需要使用邮件标题来诊断问题。