Exchange blocking duplicate messages?

Kevin Spicer kevins at BMRB.CO.UK
Fri Oct 3 19:04:51 IST 2003

On Fri, 2003-10-03 at 18:38, Julian Field wrote:

>>I've certainly seen that behaviour with Exchange 2000.

>Any proposed solutions to this problem?

Could be a bit tricky, as I see it the issue is two messages (with
different content) end up with the same message ID.  Presumably the
'correct' solution is to generate one of the messages in such a way that
it does not retain the original MID.  I was thinking that simply
re-injecting the quarantined message into the SMTP stream (by
converting it into an SMTP transaction and connecting to localhost:25)
or by formatting as a message (rather than queue files) and invoking
sendmail directly to requeue it.  However that idea has a couple of
'issues' - a) re-queuing it means MS will scan it again and (hopefully,
although in this case undesirably) reach the same conclusion and
quarantine it again. b) You are (even only in a small way)
_changing_the_original_message_, to my mind the resent quarantined
message should be _the_original_message_intact.

You could make some small change to the messageID, but thats not one for
the purists.  MessageID's should only ever be generated by the MTA (I'm
also not sure whether exchange checks only the most recent MID, or all
MID's appearing in the message - so it could get really messy!).
Altering MID's breaks the ability of the MTA to guarantee unique MID's,
since it would no longer control the whole process.  All in all I think
that would be A Bad Thing (tm).

It seems the 'correct' thing to do would be to generate the alert
indicating the mail has been quarantined as a new message (since really
this is what it is).  I suspect (from the point of view of coding) this
isn't as easy as the other options.  You would presumably need to pick
up header information from the original message if this is to be
preserved and at the least the Reply-To field (if this doesn't exist
then it would have to be created from the original From header).
presumably you would also need to fake the envelope sender in case
downstream MTA's decide to reject the message.

Incidentally I came across this issue when I had problems with exchange
sending ETRN requests to my MS server, causing sendmail to sometimes
deliver an empty message before the MailScanner processed message (users
only got the first, empty, message).  I don't quarantine anything so it
never occurred to me that this could be an issue, I'm surprised its not
come up before.

BMRB International
+44 (0)20 8566 5000
This message (and any attachment) is intended only for the
recipient and may contain confidential and/or privileged
material.  If you have received this in error, please contact the
sender and delete this message immediately.  Disclosure, copying
or other action taken in respect of this email or in
reliance on it is prohibited.  BMRB International Limited
accepts no liability in relation to any personal emails, or
content of any email which does not directly relate to our

More information about the MailScanner mailing list