Just playing, when I ran into:
# exim -d+resolver -be
> ${lookup dnsdb{txt=_spf.google.com}}
database lookup required for txt=_spf.google.com
dnsdb key: _spf.google.com
DNS name syntax check failed: _spf.google.com (TXT)
lookup failed
My guess is it doesn't like the underscore to start the name/label.
Which seems like a bug because as far as I know underscores are only
illegal in hostnames. And not all _names_ in a domain name are also
_hostnames_. The name in an SRV record being the most well-known example.
[CC-ing exim-dev, to which I'm _not_ subscribed so don't know if that's]
[gonna come through. If it does then please CC me in replies on that ]
[list you think I should read. ]
Cheers,
Mark.