To configure Postfix SMTP Server to relay emails through Gmail SMPT Server on Ubuntu Linux you need an account of Gmail and then you have to follow these simple instructions.
Install Postfix by the following command
sudo apt-get install postfix -y
the installation ask some informations to configure the service: answer No configuration because you will manually configure it after.
When the installation of Postfix is ended, you can start to manually configure it copying the Debian Linux standard example:
sudo cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf
then you have to edit the file /etc/postfix/main.cf (with vim, gedit or other editor) for adding the following rows:
# TLS parameters smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=no smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache # myhostname = (your-host-name for example myserver.home.local) alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = relayhost = [smtp.gmail.com]:587 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = loopback-only default_transport = smtp relay_transport = smtp inet_protocols = all # # SASL Settings smtp_use_tls=yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous smtp_tls_CAfile = /etc/postfix/cacert.pem
Create the file /etc/mailname (if it don’t exist) and add a row with the name of your server, the same you used at the myhostname parameter in the file main.cf.
Now you need to create the file /etc/postfix/sasl_passwd with the credentials to connect to GMail SMTP Server:
[smtp.gmail.com]:587 gmail_username@gmail.com:gmail_password
obviously you have to use the credentials of your Gmail account.
So create the .db file from the above file by these commands:
sudo chmod 400 /etc/postfix/sasl_passwd sudo postmap /etc/postfix/sasl_passwd
At last create the certificate and restart Postfix with the following commands:
sudo cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee -a /etc/postfix/cacert.pem sudo /etc/init.d/postfix restart
Now everything would be OK.
It’s possible to test it sending an e-mail by the command line.
For example:
echo “Hi, this is the body of the e-mail” | mail -s "My Test" -r mymail@gmail.com destination@gmail.com