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.

n1000
  • 261
  • 1
  • 2
  • 10
  • How are you trying to send mail? – fkraiem Oct 02 '14 at 20:06
  • `ssmtp guy@server.com < mail.txt` and `ssmtp guy@server.com` – n1000 Oct 02 '14 at 20:22
  • Maybe try `mailx guy@server.com < mail.txt`. Also, anything interesting in `/var/log/mail.log`? – fkraiem Oct 02 '14 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 02 '14 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 – Sergiy Kolodyazhnyy Oct 02 '14 at 21:19
  • You said mailx isn't installed. I'm not 100% sure , but you'd need mailutils installed to do anything with mail. Do that – Sergiy Kolodyazhnyy Oct 02 '14 at 21:24
  • Thanks! Same issue on 25 and 587. telnet working for both. other ports are blocked. mailutils did not help :( – n1000 Oct 02 '14 at 21:30

2 Answers2

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.

n1000
  • 261
  • 1
  • 2
  • 10
  • 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) – Louis Gagnon Sep 11 '20 at 07: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.

gablin
  • 263
  • 2
  • 6
  • 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 '16 at 16:44
  • 4
    For a secure way to grant appropriate permissions, see here: https://wiki.archlinux.org/index.php/SSMTP#Security – Tyler Apr 05 '16 at 02:37