On Thu, 11 Mar 2004, Christian G. Warden wrote:
> I'm using Exim 4.30. I have the received_recipients log_selector
> enabled. If the same recipient is given multiple times either over smtp
> or for locally-injected messages, the received log line lists the
> recipient multiple times.
Indeed. It just lists what it is given.
> At what point does suppression of multiple copies to the same recipient
> occur?
At delivery time. Ultimately, it's all to do with remembering what has
been delivered and what has not. When Exim does a delivery to x@??? it
notes "this message has already been delivered to x@???". Then if it
ever finds it has to do a delivery to that address again, it skips it.
This applies within the original (first) delivery attempt, and again if
there is a later delivery attempt because some of the addresses could
not be delivered at the first attempt.
> Is it possible to configure Exim such that a message with the
> same recipient given multiple times would be delivered differently than
> a message to the same recipient given once?
1. You could modify the recipients list in the local_scan() function.
2. The de-duplication happens during the routing process - it has to, in
order to take account of aliases. Having delivered to x@???, it will
also skip if another address is aliased to x@???. So you could fiddle
with routers, I suppose and use some really hairy expansions with ${run
or ${perl to detect duplication and do something. I wouldn't really
recommend it, however.
> If not, I think multiple identical recipients should be collapsed in
> the received log message when received_recipients is enabled.
This would lose information that some people might like. Also, I think
it's a pretty cosmetic change (how often does is happen in practice?)
and I have to say I think there are other things that seem to me to be
more important.
Philip
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book: http://www.uit.co.uk/exim-book