I have a router basically as follows, and was advised that I could use
$domain_data instead of $address_data in it. However it didn't work
during callouts.
The important part of the router is:
domainlist dns_virtual_domains = lsearch;CONFDIR/dns-virtual-domains
dns_virtual_domains:
domains = +dns_virtual_domains
address_data = ${lookup{$domain}lsearch{CONFDIR/dns-virtual-domains}}
I do two recipient verifications in my ACL -- one without a callout, and
the second with a callout, under certain circumstances. I find that the
first routing attempt sets $domain_data OK and everything works, but on
the _second_ I see $domain_data is NULL.
Full working config at
http://www.infradead.org/~dwmw2/eximconf
Test logs with working ($address_data) and non-working ($domain_data)
at
http://www.infradead.org/~dwmw2/address and
http://www.infradead.org/~dwmw2/domain respectively. Yes, I _did_
remember to replace _all_ instances of $address_data with $domain_data.
This is the important part when it fails...
--------> dns_virtual_domains router <--------
local_part=asdasd domain=infradead.org
checking domains
cached yes match for +dns_virtual_domains
cached lookup data = NULL
Yet the cached lookup data should be 'infradead.org.mail' and indeed was
earlier in the same log.
--
dwmw2