Exim and hostname fqdn problem


#1

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.


#2

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