Exim and hostname fqdn problem

For some type of setups, if network connections not available during startup process, exim4 takes long time to start. To solve this problem, you must use DC_minimaldns option of exim4. You can also configure this feature with:

dpkg-reconfigure exim4-config

on Debian based systems. You should answer Yes for the question Keep number of DNS-queries minimal?

However, if hostname --fqdn command doesn’t print a full qualified hostname (actually only checked one dot) exim4 gives a warning and DC_minimaldns function doesn’t work.

For example your hostname is “debian” and if hostname --fqdn also just prints “debian” this is due to the following behaviour of hostname command:

When used –fqdn parameter, firstly it learns the exact hostname.
After hostname is learned, it uses gethostbyname() function and prints h_name field of hostent structure.
Probably you have a record in /etc/hosts file like that:

127.0.0.1    debian

In this scenario, hostname --fqdn will also just print “debian”. To solve this you must write a dotted hostname first in /etc/hosts file like that:

127.0.0.1    debian.localhost   debian

After that hostname --fqdn will print “debian.localhost” and this makes exim4 happy.

1 Like

Thank you very much !!
You saved my entire morning I had lost so far !!