On Thu, 30 Oct 2003, David Leggett wrote:
> The string is expanded just before the router is run, that is, after all the
> pre~con~dition tests have succeeded.
> <!-- End documentation quote -->
>
> Since it is expanded after the preconditions (local_parts, domains, condition)
> then surely if the router is skipped because of a condition failiure it is
> not set so i cant use this in the other routers.
Yes, but if you have the *same* conditions on the other routers (which I
thought you did) then the fact it is unset (i.e. empty) means you can
skip them. In other words:
$address_data is intially empty (the default value).
. First router tests preconditions, skipped if they fail. Otherwise
address_data = any old string
gets obeyed.
. Second router uses
condition = ${if eq{$address_data}{}{no}{yes}}
Or have I missed something?
--
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