Fixed: Ubuntu Startup slows down at Starting Mail Transport Agent (MTA) sendmail

By webmaster | 23rd August 2009 | 2 min read

If you install sendmail on your desktop and have not configured your system correctly you will very likely come across this problem. Ubuntu boot up slows down considerably and stops for a long time at the "Starting Mail Transport Agent (MTA) sendmail" line. This is because sendmail is trying to resolve your host and times out failing to do so. You can fix this problem easily by making a few changes in to yours hosts file.

Edit /etc/hosts and /etc/hostname

sudo gedit /etc/hosts /etc/hostname

Suppose your hostname found in /etc/hostname is zyxware01 and you do not have a static IP then this is how your /etc/hosts should be minimally.

127.0.0.1 localhost.localdomain localhost
127.0.1.1 zyxware01.localdomain zyxware01

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

If you have a static IP you can replace 127.0.1.1 with your static IP. If you have your intranet configured with local domain name then you can replace the localdomain with your intranet domain name.

Before you make this setting changes if you verify the /var/log/mail.log and /var/log/mail.err you will see errors like the following.

Aug 21 19:00:04 zyxware01 sm-msp-queue[15538]: My unqualified host name (zyxware01) unknown; sleeping for retry
Aug 21 19:01:05 zyxware01 sm-msp-queue[15538]: unable to qualify my own domain name (zyxware01) -- using short name

Once you make the changes you can try rebooting the system and verify that MTA startup time has increased dramatically. Also you can verify that the mail.err and mail.log does not have the errors anymore

As a general tip, when you face problems during bootup, edit from grub menu and take out the quiet and splash kernel parameters to see actual bootup messages where the problem happens. Also make sure you verify dmesg and /var/log/messages to see the full log after you boot into the system.