mSMTP is an SMTP client which can be used with various applications and scripts such as Mutt, Php, Python etc
Remember, we will do everything as a sudo user and NOT root.
Install the msmtp and ca-certificates packages.
For Arch
$ sudo pacman -S msmtp ca-certificates
For Debian/Ubuntu
$ sudo apt-get install msmtp ca-certificates
For Fedora/Rhel/CentOS
$ sudo yum install msmtp ca-certificates
Create a new .msmtprc file in your home directory and open it with your favourite editor. VIM neerds alert! (If you don’t know what this means, never mind. Just open the file.)
$ vim ~/.msmtmrc
Copy following text into the .msmtprc file. If you have only one email ID, keep the default section, if you have more then two, add more accordingly.
account default
host smtp.gmail.com
from email@youremailhost.com
auth on
port 587
user email@gmail.com
password MySecret
logfile ~/.msmtp.log
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
account custom
tls off
tls_starttls off
host smtp.youremailhost.com
from email@youremailhost.com
auth yes
port 25
user email@youremailhost.com
passwordeval gpg -q --for-your-eyes-only --no-tty -d .mutt/.pass.gpg | awk '/email@youremailhost.com:/ {print $2}'
logfile ~/.msmtp.log
As you can see I have two examples one with simple password and one with encrypted password. You can use password variable for basic use, as used for default account in .msmtprc file. If you don’t want your friends to see your password, who use your computer, and more specifically your user, then you should definately use passwordeval variable. passwordeval variable tells the msmtp to fetch password from an encryped gpg file. More details on Encrypting password in with GnuPG, of course you need to see what you want from that link.
Test your configuration with following command
echo -e "Subject: Test Mail\r\n\r\nThis is a test mail" |msmtp --debug --from=default -t username@gmail.com
It probably won’t work 😉 Change permissions of .msmtprc file then.
chmod 600 .msmtprc
Doesn’t work? Apply common sense!
Still not working? poke me !