On Wed, 12 Jan 2005, Jamin W. Collins wrote:
> To work around this required an additional router and modification to
> what section 42.7 suggested. The end result is something like the
> following:
>
> checkforward:
> debug_print = "R: checkforward for $local_part@$domain"
> driver = accept
> check_local_user
> require_files = $home/.forward$local_part_suffix
> local_part_suffix = -*
> local_part_suffix_optional
> verify_only
>
> userforward:
> debug_print = "R: userforward for $local_part@$domain"
> driver = redirect
> check_local_user
> file = $home/.forward$local_part_suffix
> local_part_suffix = -*
> local_part_suffix_optional
> allow_filter
> check_ancestor
> no_verify
>
> The first is used solely to check the validity of the address based on
> the availability of the appropriate .forward file. The second handles
> only the delivery of the address.
>
> I'd be interested to know of anyone getting this to work with address
> validation without needing the second router.
Let me be sure I have this right: If mail arrives for user-foo, you want
to accept only if the user has .forward-foo and otherwise reject. Is
that right? Many sites are more relaxed about this, and use the rule that
if .forward-foo does not exist, just deliver the message to user. For
the more relaxed rule, you don't need the checkforward router. You just
need to have local_part_suffix = -* on the subsequent router that
accepts mail for the user.
However, I don't see any real problem with using two routers as you
have, if you want that functionality. After all, it only ever uses one
of them.
--
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