5

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:

root=me@server.com
mailhub=mail.server.com:25
rewriteDomain=
hostname=hostname.server.com
AuthUser=me
AuthPass=mypassword
UseTLS=YES
FromLineOverride=YES

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.

7
  • How are you trying to send mail?
    – fkraiem
    Oct 2, 2014 at 20:06
  • ssmtp guy@server.com < mail.txt and ssmtp guy@server.com
    – n1000
    Oct 2, 2014 at 20:22
  • Maybe try mailx guy@server.com < mail.txt. Also, anything interesting in /var/log/mail.log?
    – fkraiem
    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
    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 Oct 2, 2014 at 21:19

2 Answers 2

11

Ok I figured it out... I had to use UseSTARTTLS=YES instead of UseTLS=YES. Also I had to enter root:me@server.com: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
  • 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) Sep 11, 2020 at 7:39
8

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.

2
  • 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
    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
    Apr 5, 2016 at 2:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.