One of our customers is receiving duplicate emails from our application, even though as far as I can tell from the application and SMTP logs, we're only sending it out once.
What are some of the ways that an email might be duplicated between sending it out and receiving it?
Some more details: the emails are being sent via IIS6. The duplicates that the user receives really are exact duplicates, right down the message headers (including the same Message-ID). There's no apparent duplication in the SMTP source logs - I'm not a sys admin myself so I don't have much experience with these, but it seems normal:
2012-02-16 17:54:45 127.0.0.1 portal PORTAL 127.0.0.1 MAIL +FROM:<notifications@mycompany.com> 250 0 59 462012-02-16 17:54:45 127.0.0.1 portal PORTAL 127.0.0.1 RCPT +TO:<dustinc@redacted.com> 250 0 33 302012-02-16 17:54:45 127.0.0.1 portal PORTAL 127.0.0.1 DATA <PORTAL6hNo6j3wsGSaV0002e91c@portal.mycompany.com> 250 0 140 10654
and then (I assume) the response from the target mail server itself a few lines later:
2012-02-16 17:54:45 208.186.207.146 OutboundConnectionResponse PORTAL - - 220+smtp.redacted.com+ESMTP+Service+ready 0 0 41 02012-02-16 17:54:45 208.186.207.146 OutboundConnectionCommand PORTAL - EHLO portal.mycompany.com 0 0 4 02012-02-16 17:54:45 208.186.207.146 OutboundConnectionResponse PORTAL - - 250-Requested+mail+action+okay,+completed 0 0 41 02012-02-16 17:54:45 208.186.207.146 OutboundConnectionCommand PORTAL - MAIL FROM:<notifications@mycompany.com>+SIZE=10998 0 0 4 02012-02-16 17:54:45 208.186.207.146 OutboundConnectionResponse PORTAL - - 250+Requested+mail+action+okay,+completed 0 0 41 02012-02-16 17:54:45 208.186.207.146 OutboundConnectionCommand PORTAL - RCPT TO:<dustinc@redacted.com> 0 0 4 02012-02-16 17:54:46 208.186.207.146 OutboundConnectionResponse PORTAL - - 250+Requested+mail+action+okay,+completed 0 0 41 02012-02-16 17:54:46 208.186.207.146 OutboundConnectionCommand PORTAL - DATA - 0 0 4 02012-02-16 17:54:46 208.186.207.146 OutboundConnectionResponse PORTAL - - 354+Start+mail+input;+end+with+<CRLF>.<CRLF> 0 0 44 0
(…then it takes a few seconds until…)
2012-02-16 17:54:50 208.186.207.146 OutboundConnectionResponse PORTAL - - 250+Requested+mail+action+okay,+completed 0 0 41 02012-02-16 17:54:50 208.186.207.146 OutboundConnectionCommand PORTAL - RSET - 0 0 4 02012-02-16 17:54:50 208.186.207.146 OutboundConnectionResponse PORTAL - - 250+Requested+mail+action+okay,+completed 0 0 41 0