HOWTO+-+Relaying+Postfix+SMTP+via+smtp.gmail.com

I’ve got a few servers in different places around the country and try to monitor them using the logwatch utility. One problem that I’ve run into however is that a few of these servers are not able to send their logwatch emails to me, based on email restrictions by the ISPs. I spent some time this afternoon researching what was required to have my servers authenticate to my gmail account and send me the mail that way. This setup assumes Ubuntu 8.04 (or later) and Postfix. **Install the required packages** > sudo aptitude install postfix libsasl2-2 ca-certificates libsasl2-modules

Select "No Configuration" in the postfix configuration dialog. Copy the sample config to the postfix config directory: > cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf

**Configure Postfix** This tutorial will not outline how to configure your postfix server, but we’ll jump directly to the relayhost section. You’ll want to add the following lines to the end of your /etc/postfix/main.cf file: > relayhost = [smtp.gmail.com]:587 > smtp_sasl_auth_enable = yes > smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd > smtp_sasl_security_options = noanonymous > smtp_tls_CAfile = /etc/ssl/certs/ssl-cert-snakeoil.pem > smtp_use_tls = yes > myhostname =  The above lines are telling Postfix that you want to relay mail through gmail on a specific port, telling it to authenticate, and where to find the username and password. The last three lines specify the authentication types supported, where the certificate authority file is and that it should use tls. **Define Username and Password** Next we’ll need to populate the sasl_passwd file. Create the file /etc/postfix/sasl_passwd with the following contents: > [smtp.gmail.com]:587 user.name@gmail.com:password This file should have restrictive permissions and then needs to be translated into a .db that Postfix will read. > sudo chmod 400 /etc/postfix/sasl_passwd > sudo postmap /etc/postfix/sasl_passwd Also you need to generate an aliases file: > sudo newaliases Go ahead and reload postfix (sudo /etc/init.d/postfix reload) and you should be set.