Re: [exim] Exim can't resolve hostname of database when seco…

Top Page
Delete this message
Reply to this message
Author: Phil Pennock
Date:  
To: Marcin Mirosław
CC: exim users
Subject: Re: [exim] Exim can't resolve hostname of database when second email is sended in one TCP connection
On 2013-11-13 at 16:43 +0100, Marcin Mirosław wrote:
> > or I add "pgsql" to /etc/hosts then problem disappears.
> > It looks like "search" option isn't applied when exim tries translate
> > hostname to address.


> I just noticed that similar problem appears if I use ${lookup pgsql{}}
> in transport. In such situation I have problem with resolving hostname
> of database if I don't use FQDN in definition of pgsql server. Again,
> "search" option from resolv.conf seems to be ignored.


Correct; Exim is very careful to disable search by default, so that
hosts supplied in routing rules don't unexpectedly go to some place
else. The only exceptions (which come to mind) are dns_search_parents
on an SMTP transport and search_parents on a dnslookup router.

Sorry, you need to specify remote services used by Exim in a way which
doesn't involve probing DNS repeatedly; this normally isn't an issue,
since each DNS request adds latency; remember that Exim forks and execs
a lot, so there's going to be a fresh request to resolve each time.

If you can use a local socket for pgsql, with peer auth, then that will
be fastest and cleanest. If you need to specify a remote hostname,
specify the fully-qualified name so that the lookups can complete
quickly.

If there's a compelling reason to support short names, please let us
know.

This appears to be under-documented in The Exim Specification; can you
let us know where you would expect to see warnings, so we can add some?

Thanks,
-Phil