Re: [Exim] Problems using "condition" in a router block

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Ralf G. R. Bergs
CC: exim-users ML
Subject: Re: [Exim] Problems using "condition" in a router block
On Tue, 29 Apr 2003, Ralf G. R. Bergs wrote:

> virtualuser:
> driver = accept
> # Don't fail if passwd doesn't exist; skip to next router
> condition = ${if exists{/etc/exim/virtual/${domain}/passwd}{true}fail}
> domains = lsearch;/etc/exim/virtual/domains
> local_parts = lsearch;/etc/exim/virtual/$domain/passwd
> transport = virtual_delivery
> local_part_suffix = -*:+*
> local_part_suffix_optional = true
>
> Of course I don't want an error message and freezing of messages if there
> isn't a passwd file for certain domains that lists virtual mailboxes (I want
> to be able to just have an alias file,) but I would like Exim to pass control
> to the next router (and possibly ultimately bounce the message instead of
> freezing it.)
>
> Why doesn't the above "condition" statement do the trick?!


What does the output from "exim -d -bt some@ddress" say?

That would probably have told you the answer.

However, to save you time, I'll point you to section 3.9 in the manual,
which documents the order in which the preconditions are tested. It also
gives you a clue as to how to do what you want.


--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.