Re: [exim] "headers_add" working differently?

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Marian Eichholz
CC: exim-users
Subject: Re: [exim] "headers_add" working differently?
On Fri, 29 Apr 2005, Marian Eichholz wrote:

> Thus, a typical mail could read like
>
>    [...]
>    Delivered-To: postmaster@???
>    Delivered-To: postmaster@???
>    Delivered-To: marian.eichholz@???
>    [...]

>
> (taken from an exim 4.43 delivery)
>
> In recent mails, there is only the one line present:
>
>         Delivered-To: marian.eichholz@???


I've looked into this. I need more information to be absolutely sure,
but I think the difference is related to duplicate addresses. It is true
that the handling of duplicates changed in 4.50, but I cannot see how
that could have affected the handling of "header_add". The only
difference is that duplicates are detected and discarded later in the
routing process.

Question: What was the envelope for the message quoted above? If there
was a single recipient "postmaster@???" that was redirected to
"postmaster@???" that was then redirected to
"marian.eichholz@???", I would expect you to see those headers
in both 4.43 and 4.5x.

If, on the other hand, the message had three recipient addresses, two of
which were aliased to "marian.eichholz@???", I would expect to
see just the one Delivered-To: line, again the same in both releases.

> Furthermore, in a test session debugging output, I find
> three references to the added header lines, but only one
> line in the actual delivered mail:
>
> Of course, we run 4.51 :-)
>
>    13:47:14 27307 added header line(s):
>    13:47:14 27307 Delivered-To: marian.eichholz@???
>    --
>    13:47:14 27308 added header line(s):
>    13:47:14 27308 Delivered-To: postmaster@???
>    --
>    13:47:14 27320 added header line(s):
>    13:47:14 27320 Delivered-To: postmaster@???


Please look further at the debug output. Does it say "duplicate address
discarded" later on for two of them? I expect that it does.

This problem raises an issue that I had not thought of. Discarding a
duplicate address discards any headers that have been added to it. This,
I believe was true in 4.43 as well as in 4.50. Thinking about this,
though, I cannot think of anything else that can be done.

For your particular example, note that if you set "envelope_to_add" on
the transport, it will record all the original envelope recipient
addresses (including those that led to duplicates).

I want to get 4.51 released as soon as possible. I think this issue is
not one that I can do anything about quickly, so it will have to wait
and be thought about, I'm afraid.

Philip

-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.