Sendmail is slow to send mail

October 7, 2013 37k views
I noticed that our Rails app gets error when attempting to create a user and it narrowed down to sending a registration email. When I tried to manually test it it turned out that mail actually goes out but with huge delay. It takes 1 minute to process. time echo test | sendmail jurgen@example.org real 1m0.170s user 0m0.008s sys 0m0.004s
6 Answers
Hi Jurgen,

If you check your /var/log/mail.log you will probably find something like this: My unqualified host name (localhost) unknown; sleeping for retry. This is because sendmail requires "hostname" to be a fully qualified domain name.

update your "/etc/hosts" file: nano /etc/hosts
to look like this: 127.0.0.1 localhost.localdomain localhost yourhostname

boom, fast sendmail.
Have you restarted the process?
sudo service sendmail restart
If my droplet is for hosting several web sites via virtualhosts instead of a single domain, does it matter what I use for the fully-qualified domain name in /etc/hosts for the purposes of using sendmail?
@Gary: No, as long as it's a FQDN and matches your IP address's PTR record, you're fine.

@oliversimon I'm a little new to server management, so pardon me if the questions sound a little stupid, but here goes:

1) When you wrote "localhost.localdomain" and "localhost", those were as is, and not meant to be replaced with anything, correct?

2) my mail.log output showed the following:
"unable to qualify my domain name (pokemon-nyc1) -- using short name"
Does the solution you provided still apply?

3) In the hosts file, I have an existing entry for:
127.0.1.1 pokemon-nyc1 pokemon-nyc1

Am I correct in assuming that the "yourhostname" is, in this case, 'pokemon-nyc1' ? Should the new 127.0.0.1 line then replace the 127.0.1.1 line already existing in the system?

Try disable IPv6 for whom the first solution didn't work

Have another answer? Share your knowledge.