I am trying to configure ssmtp on our Ubuntu 12.04 server. However I had no luck so far. My ssmtp.conf looks like this:

[email protected]

When I try to send mails I get ssmtp: Cannot open mailhub:25. When I use sudo the error message reads a little different ssmtp: Cannot open mail.server.com:25 The server should normally accept SMTP on port 25 and I can contact it with telnet mail.server.com 25. Any ideas would be greatly appreciated.

  • How are you trying to send mail?
    – fkraiem
    Commented Oct 2, 2014 at 20:06
  • ssmtp [email protected] < mail.txt and ssmtp [email protected]
    – n1000
    Commented Oct 2, 2014 at 20:22
  • Maybe try mailx [email protected] < mail.txt. Also, anything interesting in /var/log/mail.log?
    – fkraiem
    Commented Oct 2, 2014 at 20:25
  • Mailx is not installed. Without sudo: /etc/ssmtp/ssmtp.conf not found, Unable to locate mailhub, with sudo: SSL connection using (null)
    – n1000
    Commented Oct 2, 2014 at 20:32
  • At least in case with my mailhub I had to use port 587 because 25 was constantly blocked. Try this one out, also see if you mail server can be accessed from another port. Also , last resort could be to switch to msmtp. That's what I have now Commented Oct 2, 2014 at 21:19

2 Answers 2


Ok I figured it out... I had to use UseSTARTTLS=YES instead of UseTLS=YES. Also I had to enter root:[email protected]:mail.server.com:25in /etc/ssmtp/revaliases. Hope this helps others as well.

If you want to use other user accounts than root, you will have to add those to /etc/ssmtp/revaliases as well and add them to the 'mail' group.

  • 1
    the part about /etc/ssmtp/revaliases was quite useful. In my case (not using gmail) I had to use UseTLS=YES instead of UseSTARTTLS=YES and not the other way around. Looking into /var/log/mail.log helped me find that out. (Ubuntu 20.04, inmotionhosting.com mail server) Commented Sep 11, 2020 at 7:39

There is another case, which I encountered, where this happens: If you remove read access to ssmtp.conf from others because you don't want the password to be visible to all users, then you will get the same error unless your account has read access to that file. For example, when trying sendmail you might have to do sudo sendmail instead.

  • 1
    This solved this for me. Seems like a different method could be to change the group of the ssmtp.conf file to "mail" or something, then add your user there, and chmod g+r that file.
    – Hut8
    Commented Jan 29, 2016 at 16:44
  • 4
    For a secure way to grant appropriate permissions, see here: wiki.archlinux.org/index.php/SSMTP#Security
    – Tyler
    Commented Apr 5, 2016 at 2:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .