Re: [exim] How to invoke an Exim Filter from an alias file?

Top Page
Delete this message
Reply to this message
Author: Marc Sherman
Date:  
To: exim-users
Subject: Re: [exim] How to invoke an Exim Filter from an alias file?
Florian Laws wrote:
>
> Like this:
>
> special_aliases:
>   driver = redirect
>   allow_fail
>   allow_defer
>   allow_filter
>   data = ${if eq \
>                  {:filter:} \

>
> {${substr_0_8:${lookup{$local_part}lsearch{/export/mail/special_aliases}}}}
> \
>
> {${readfile{${substr_8:${lookup{$local_part}lsearch{/export/mail/special_ali
> ases}}}}}} \
>               {${lookup{$local_part}lsearch{/export/mail/special_aliases}}}
> \
>            } 
>   file_transport = address_file
>   pipe_transport = address_pipe
>   reply_transport = address_reply
>   user = mail

[snip]
> However, I don't really like that I do the lookup twice
> (and have to write it even three times).
>
> Is there a possibility to save the result of the lookup in some variable
> I missed in the documentation?


You can use address_data for this:

special_aliases:
   driver = redirect
   allow_fail
   allow_defer
   allow_filter
   address_data = \
     ${lookup{$local_part}lsearch{/export/mail/special_aliases}}
   data = ${if eq {:filter:}{${substr_0_8:${address_data}}} \
     {${readfile{${substr_8:${address_data}}}}} \
     {${address_data}}}
   file_transport = address_file
   pipe_transport = address_pipe
   reply_transport = address_reply
   user = mail


- Marc