Re: [exim] Conditional header rewriting

Top Page
Delete this message
Reply to this message
Author: Konstantin Boyandin
Date:  
To: exim-users
Subject: Re: [exim] Conditional header rewriting
Greetings,

2008/4/30 Ian Eiloart <iane@???>:
> > Greetings,
> >
> > The task is simple: i need to rewrite header addresses if and only if
> > certain condition is met. E.g.
> >
> > If
> > To/Cc/Bcc contains @domain.example.com
> > Then
> > <address rewrite rule>
> >
> > Can it be done *without* calling external program? May I ask for a
> > snippet of exim.conf code, if yes?
> >
>
> The question is ambiguous.
>
> First, you shouldn't usually see Bcc addresses - they're supposed to be
> secret. Therefore, I'm wondering whether you really want to rewrite envelope
> addresses, too.


I know they aren't usually available, but if they are, they should
also be rewritten.

> You don't say whether you want to rewrite addresses other those that match
> your conditions: in the To/CC headers, and in the specified domain.


OK, more detailed explanation:

If
(any of To, Cc, Bcc contains @domain.example.com)
Then
(replace in To, Cc, Bcc, Reply-To, From: @old.example.com -> @new.example.com)

In other words, I will need to modify all the addresses in meaningful
headers once the condition has been met.

> What you can do is rewrite addresses in a specific domain (section 31.6 of
> the docs), and restrict the rewriting to certain headers (section 31.8 of
> the docs). Anything more complicated would have to be done in ACLs with
> headers_add and headers_remove.


Looks like I have either to use transport_filter (if nothing else
helps) or the mentioned headers_add/headers_remove, the question is
how to use ACL's rewriting.

> We used to use ACLs to rewrite From addresses when email was not destined
> for a local domain, but now we do it for internal email, too.


Thank you.