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