Autor: Funk Gabor Data: Para: Philip Hazel CC: exim-users Asunto: Re: [Exim] exim router rights
>> Question: How can I set "local domains" to be the ones in a specified >> directory in a specified format?
>
>There is no facility in Exim 3 for using a directory of files as a
>list. In Exim 4 there is a lookup called dsearch, which provides exactly
>this facility. So, bad luck [for me]. Eventually I'll go for it. (I also missed the
availability for separating routers, directors, transports into separate
files, but now I have less routers, so I don't worry about it as much).
Anyway:
I already "solved" the problem by using directors and an "extra" file
for the "local/pop3" domains, but I'm still thinking. (Sorry 'bout that :-)
It it obvious that I can't use
local_domains = *
because after the "router"s, it can change to "local (after all)" but from
a local I don't see the possibility.
By using routers, I can do the following:
#SMTP routing nonlocal domains - with no .../popboxes/domainX.com directory
#(note the " ! " for require_files)
lookuphost:
driver = lookuphost
require_files = pop : ! /var/qmail/popboxes/${lc:${extract{1}{.}{$domain}}-${extract{2}{.}{$domain}}}
transport = remote_smtp
#router for local domains for individual users - eg: .../popboxes/domainX/userY(/Maildir)
cs_pop3_user_router:
driver = domainlist
require_files = pop : /var/qmail/popboxes/${lc:${extract{1}{.}{$domain}}-${extract{2}{.}{$domain}}/$local_part}
transport = cs_pop3_user_transport
route_list = *
#local domains for *@domainX.com - eg: .../popboxes/domainX/Maildir
cs_pop3_group_router:
driver = domainlist
require_files = pop : /var/qmail/popboxes/${lc:${extract{1}{.}{$domain}}-${extract{2}{.}{$domain}}}/Maildir
transport = cs_pop3_group_transport
route_list = *
This way, I don't need separate file for the domains, but this
gives "unroutable domain" error (even with self=fail_hard [exim 3.12])
If I could just do something like this after the 3rd router
new_address = :fail: no matching $local_part in domain $domain...
then I suppose it would be fine, wouldn't it?