[exim] how to use two routers wether a message got delivered…

Top Page
Delete this message
Reply to this message
Author: amiborg
Date:  
To: exim-users
Subject: [exim] how to use two routers wether a message got delivered or not


Hi folks,

i have a small problem configuring exim routers:

these two routers ( userforward and virtual_user ) are part of a chain of redirect routers as you can see below. The last router just accepts everything whats left.

My problem is, that if userforward generates a addresses for transport, virtual_user is not used at all, even if it would generate another transport.

This means, i only get forwarders delivered or a delivery to the popbox, but not both.

How can i change the config to use all routers until nothing new is generated ?

Example:

domain.de:
a : b@???
b : | pipe to something
a : /home/user/
a : a@???

is that even possible, or does the "select" has to return all targets in one resultset to get all three delivered ? this would be possible with a union select , but would not be a cool way , as it would involve a default user for the process uidm which should be used while delivering to the mailbox.

Any best practise for this ?

( unseen and more did not do the trick :( )

autoresponder:
# another redirect router
...

userforward:
driver = redirect
domains = +local_domains
condition = ${if eq{1}{${lookup mysql{SELECT \\'1\\' FROM mail_config WHERE address = \\'${quote_mysql:${local_part}@${domain}}\\' and type in ( \\'Forwarder\\') }}}{yes}{no}}
data = ${lookup mysql{ SELECT target FROM mail_config WHERE address = \\'${quote_mysql:${local_part}@${domain}}\\' and type in ( \\'Forwarder\\') }}
allow_fail
no_verify
no_expn
file_transport = address_file
reply_transport = address_reply
redirect_router = autoresponder

virtual_user:
driver = redirect
no_verify
domains = +local_domains
allow_fail
allow_defer

data = ${lookup mysql{ SELECT concat(target,\\'/Maildir/\\') FROM mail_config WHERE address = \\'${quote_mysql:${local_part}@${domain}}\\' and type in ( \\'Popkonto\\',\\'Imapkonto\\') }}
directory_transport = address_directory
user = ${lookup mysql{ SELECT username FROM mail_config WHERE address = \\'${quote_mysql:${local_part}@${domain}}\\' and type in ( \\'Popkonto\\',\\'Imapkonto\\') }}
group = mail
redirect_router = autoresponder

localusers:
driver = accept
domains = +local_domains
check_local_user
transport = local_delivery


best regards,

 M. Schwarz