[exim] The routing loop

Top Page
Delete this message
Reply to this message
Author: Fabien LUCE
Date:  
To: exim-users
Subject: [exim] The routing loop
Hi everyone,

Here is a summary of a few messages i already sent within i try to
understand something.
I have read the "processing an address for delivery" chapter in the exim
specification document.

What i have understood is that routers are passed through since one or more
are activated by specific conditions.
I try to set up a thing like that:

router 1 (dns lookup) --> router 2 (aliases) --> router 3 (filtering with
Sieve) --> router 4 (accept local delivery)
                       ^-------------------------|
                                            |


^------------------------------------------------------------

router 2 and 3 are redirect routers, since they are not to match recipient
to transports (according to the doc).

Router 2 is a classical aliasing router that look up into /etc/aliases file
and redirect recipients.
Router 3 is configured that way:

> userforward:
> driver = redirect
> check_local_user
> file = $home/.forward
> allow_filter
> no_verify
> no_expn
> check_ancestor
> directory_transport = address_directory
>


the directory_transport is there because of the Maildir format of my
mailboxes:

> address_directory:
> driver = appendfile
> maildir_format
> maildir_use_size_file
> delivery_date_add
> envelope_to_add
> return_path_add
>


my .forward file:

> #Sieve filter
> require "fileinto";
> if header :contains "subject" ["toto"] {
> fileinto "/home/ftg/Maildir/.ftg_lutix/";
> stop;
> }
> fileinto "/home/ftg/Maildir/";
> stop;
>


i can figure out allo of this by testing recipients with command-line exim
-bt user@??? < test_message

My questions are:
1) despite the fact my filtering router is just a redirect one, why my
userforward router do need a transport option ( directory_transport) ?

2) why, if i don't write the line "fileinto "/home/ftg/Maildir/";" in my
.forward file, exim says that

save inbox <ftg@???> R=userforward defer (-30): file_transport unset
in userforward router

why doesn't exim give the hand to the next router and (local-delivery) and
that's it?

Thanks alot , have a nice day