Re: [Exim] Multiple local_domains lists

Top Page
Delete this message
Reply to this message
Author: Andreas J Mueller
Date:  
To: Dave Brotherstone
CC: exim-users
Subject: Re: [Exim] Multiple local_domains lists

> The spam check works no problem, BUT, I can't figure out how to make the ACL
> work properly - it works flawlessly if the domain I want to spam check is in
> local_domains as well (presumably because the verification is done by
> local_domains, then routed correctly via local_spamcheck). I've tried every
> combination I can think of in the ACL :-


How domains are routed in Exim 4 depends solely on the routers. This
means that +local_domains is only a list of domains, nothing more,
nothing less. There is no longer a separation between local and
remote domains as in Exim 3. If you want routers to act on specific
domains, put these in the domains precondition.

>   accept  domains       = +local_spamcheck
>           endpass
>           message       = unknown user
>           verify        = recipient


> Doesn't work (reports highest MX priority is local host, rather than accepting
> the domain as local)


You have probably the default dnslookup router in your configuration,
which looks more or less like this:

dnslookup:
driver = dnslookup
domains = ! +local_domains
[...]

This router will be run for every domain that is not in
+local_domains (and that includes your +local_spamcheck!). Trying to
remotely route a local domain fails if the DNS lookup discovers that
Exim would have to send the mail to itself, of course. Try to add the
+local_spamcheck to the dnslookup router:

domains = ! +local_domains : ! +local_spamcheck

This might help, but your routing setup will also require careful
setting of no_more and verify_only/no_verify options, in order to work
as you expect it.

Andy