1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #!/bin/sh
- # Sending emails using Gmail and msmtp
- # Author: [Josef Jezek](http://about.me/josefjezek)
- # Donate: [Gittip](https://www.gittip.com/josefjezek)
- # Link: [Gist](https://gist.github.com/6194563)
- # Usage: setup-msmtp-for-gmail.sh
- 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 (username@gmail.com):")
- GMAIL_PASS=$(zenity --entry --title="Gmail password" --text="Enter your gmail password:" --hide-text)
- else
- read -p "Gmail username with domain (username@gmail.com): " GMAIL_USER
- read -p "Gmail password: " GMAIL_PASS
- fi
-
- 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
- defaults
- 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
- host smtp.gmail.com
- port 587
- from $GMAIL_USER
- user $GMAIL_USER
- password $GMAIL_PASS
- # A second gmail address
- account gmail2 : gmail
- from username@gmail.com
- user username@gmail.com
- 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
- __EOF
- sudo chmod 600 /etc/msmtprc
- sudo chown -R www-data:www-data /etc/msmtprc
- HOST=$(hostname)
- 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.
- __EOF
-
- 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."
|