Re: [exim] Address batching and headers_add

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Sheldon Hearn
CC: exim-users
Subject: Re: [exim] Address batching and headers_add
On Fri, 14 Jan 2005, Sheldon Hearn wrote:

> Hi folks,


Hello Sheldon, you've been very quiet lately... :-)

> Apparently, if I enable batching (batch_size = 10) on my UUCP transport
> (pipe driver), headers_add and headers_remove seem to be ignored?


That would be really bad. There shouldn't be any connection.

> This seems unlikely to me. I'd think that adding and removing headers,
> if and only if it made a recipient's copy different from everyone
> else's, would simply exclude that recipient from the batch. Is that
> correct?


Yes. Here is a comment from the code:

    /* Until we reach the batch_max limit, pick off addresses which have the
    same characteristics. These are:


      same transport
      same local part if the transport's configuration contains $local_part
      same domain if the transport's configuration contains $domain
      same errors address
      same additional headers
      same headers to be removed
      same uid/gid for running the transport
      same first host if a host list is set
    */


> If so, then my headers_add and headers_remove (which are complicated)
> aren't being ignored and I'm just making one too many assumptions.


It may be that its definition of "same" is getting confused by your
complicated settings, of course. For remove_headers, it checks the
literal strings. So I guess it would treat

headers_remove = a:b
headers_remove = b:a

as different. In the case of headers_add, it does something similar, but
there may be a chain of additions (from multiple routers).


-- 
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