Posts tagged ‘postfix’

NexentaCore 3.0.1 is not configured out of the box to send mails through smtp.

All I want is to get notification mails from the NexentaCore box in case of failures etc., problem is I have to use an external smtp-server.

Being not a *nix guy I didn’t want to mess with sendmail / postfix / whatever.

Information on the web is very limited, so it was most trial & error to find an easy solution. At last I’m now a happy msmtp user. Big kuddos to fedoraswiss and his blog post which at last got me up & running.

Here are my steps to get it working on NexentaCore 3.0.1:

#First install the msmtp package

$ apt-get install msmtp

Note: As of today the msmtp package in the repository is rather old (1.4.13 in opposite to the official version 1.4.23) and lacks some features, f.e. „–tls-fingerprint“.

Create a config for msmtp, either globally or per-user. The following example is per-user, must be named „.msmtprc“ and placed in the users home folder:

$ cd ~
$ nano .msmtprc

.mstmprc’s content:

defaults
#Specify log path
logfile ~/.msmtp.log
tls on
account myaccount
host smtp.yourdomain.tld
from sender@yourdomain.tld
#my smtp server issues a cert with a different name, so I need to get rid of this
tls_certcheck off
tls_starttls on
auth on
user username
password your_secret_password

account default : myaccount

#smtp refuses to work if the rights on the .msmtprc file are not correct

$ chmod 600 ~/.msmtprc

To ease sending mails from the commandline (f.e. with cron) one can pipe mailx through msmtp. I do this because I didn’t find a satisfying way to enter the whole message on the commandline directly with msmtp. Specifying a file containing the message body is not an option for me.

Create or modify the file ~./mailrc to include the line

set sendmail="/usr/bin/msmtp"

Now you can send mails like this:

$ echo "this is the message body" | mailx -s "this is the subject line" receiver@somedomain.tld