8/9/2013 - 3:29 PM

Sending emails using Gmail and msmtp on Ubuntu / Debian

Sending emails using Gmail and msmtp on Ubuntu / Debian

# Sending emails using Gmail and msmtp
# Author: [Josef Jezek](
# Donate: [Gittip](
# Link: [Gist](
# Usage:

sudo apt-get update -q
sudo apt-get install msmtp-mta ca-certificates heirloom-mailx -yq

if command -v zenity >/dev/null; then
  GMAIL_USER=$(zenity --entry --title="Gmail username" --text="Enter your gmail username with domain (")
  GMAIL_PASS=$(zenity --entry --title="Gmail password" --text="Enter your gmail password:" --hide-text)
  read -p "Gmail username with domain ( " GMAIL_USER
  read -p "Gmail password: " GMAIL_PASS
echo # an empty line
if [ -z "$GMAIL_USER" ]; then echo "No gmail username given. Exiting."; exit -1; fi
if [ -z "$GMAIL_PASS" ]; then echo "No gmail password given. Exiting."; exit -1; fi

sudo tee /etc/msmtprc >/dev/null <<__EOF
# Accounts will inherit settings from this section
auth            on
tls             on
tls_certcheck   off
# tls_trust_file  /etc/ssl/certs/ca-certificates.crt
logfile /var/log/msmtp.log

# A first gmail address
account   gmail
port      587
from      $GMAIL_USER
user      $GMAIL_USER
password  $GMAIL_PASS

# A second gmail address
account   gmail2 : gmail
password  password

# A freemail service
account   freemail
host      smtp.freemail.example
from      joe_smith@freemail.example
user      joe.smith
password  secret

# A provider's service
account   provider
host      smtp.provider.example

# Set a default account
account default : gmail

sudo chmod 600 /etc/msmtprc
sudo chown -R www-data:www-data /etc/msmtprc


sudo mail -vs "Email relaying configured at ${HOST}" $GMAIL_USER <<__EOF
The postfix service has been configured at host '${HOST}'.
Thank you for using this postfix configuration script.
echo "I have sent you a mail to $GMAIL_USER"
echo "This will confirm that the configuration is good."
echo "Please check your inbox at gmail."