Hi Steve!
> How can I debug what is going on here?
You have already done enough debugging. ;-)
> BTW, my local_domains and other vars are defined as
> domainlist local_domains = @:mysql;select domain_name from domain
> domainlist relay_to_domains = mysql;select domain_name from domain
> hostlist auth_relay_hosts = *
What you have missed is the fact that when using mysql;... lookups in
a list, Exim is only interested whether the lookup yields *anything*
at all. In your case, as long as table domains contains *any*
domain_name, the lookup will succeed. You need to limit what's
returned by a where clause (this might be wrong):
domainlist local_domains = @:mysql;select 1 from domain where \
domain_name = '${quote_mysql:$domain}'
> Please help: I have now spent countless hours on this setup.
This is described in section "10.7 Domain lists" of the Exim spec.
Andy