Tempo fa abbiamo visto come è semplice impostare un smtp locale leggero qual’ora si abbia a disposizione un relay di posta aziendale. Tuttavia non è sempre così, e nel caso non ne abbiamo uno a disposizione, potremo usare quello di Google, o meglio quello di Gmail. L’esempio è stato testato con successo su un server Ubuntu, e ovviamente con un account Gmail.
Partiamo con l’installare Postfix, Mailutils e una serie di librerie.
apt-get update
apt-get install postfix mailutils libsasl2-2 libsasl2-modules
Di fatto le ultime due librerie ci servono poiché l’SMTP di Gmail utilizza connessioni cifrate. Durante l’installazione di Postfix vi verrà chiesto di fornire alcune informazioni.
- Come General Type of Mail Configuration sceglieremo SATELLITE.
- Come System Mail Name possiamo accettare quello proposto o sceglierne uno che non sia il vostro dominio. O meglio… se avete il dominio mydomain.com potrete mettere smtp.mydomain.com o altri sottodomini, ma non quello di secondo livello poiché Postfix lo riterrebbe autoritativo e quindi mail indirizzate al vostro dominio (ovvero probabilmente il motivo per cui stiamo facendo tutto questo) non arriverebbero.
- SMTP RELAY HOST: metteremo smtp.gmail.com:587, questo vale anche se avete la vostra casella di dominio ospitata da Google.
Conclusa l’installazione dobbiamo andare a configurare la parte di autenticazione SASL (qui se volete approfondire), con il vostro editor andremo a modificare il [textmarker color=”000000″]/etc/postfix/main.cf [/textmarker]di Postfix. In particolare in fondo al file aggiungeremo le seguenti righe:
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_password
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
Come si evince le righe sono piuttosto chiare, ora dovremo andare a creare il file dove mettere le password di accesso all’STMP di Gmail, che non esiste. Quindi con VI creiamo il file [textmarker color=”000000″]/etc/postfix/sasl/sasl_password[/textmarker] al cui suo interno metteremo una sola riga:
smtp.gmail.com username:password
Creiamo la lookup table db da postfix stesso
postmap /etc/postfix/sasl/sasl_password
Ovviamente modificate username (la email completa) e password di conseguenza. Siccome sono dati sensibili, sebbene saranno utilizzati criptati, il file potrebbe essere letto, quindi assicuriamoci che possa “maneggiarlo” solo l’utente root e postfix.
chown -R root:postfix /etc/postfix/sasl
chmod 750 /etc/postfix/sasl
chmod 640 /etc/postfix/sasl/sasl_password*
Riavviamo il servizio di Postfix per applicare tutte le modifiche.
sudo service postfix restart
E a questo punto possiamo inviare una mail dal nostro sistema per verificare il buon funzionamento.
echo "invio una mail da ubuntu a gmail" | mail -s "invio test" destinatario@posta
Eventuali problemi possono essere analizzati in [textmarker color=”000000″]/var/log/mail.log [/textmarker]e [textmarker color=”000000″]/var/log/mail.err[/textmarker].
In vantaggi di questo sistema sono:
- La possibilità di avere uno storico della posta inviata dal server direttamente in Gmail alla cartella “posta inviata“.
- Di avere un sistema abbastanza ermetico, poiché con la modalità SATELLITE di postfix potremo chiudere le porte con il Firewall per il solo invio della posta.
- Avere un server a costo zero per il relay della posta.
- Avere un server che non è presente nella medesima server farm, quindi in caso di problemi non ci si deve preoccupare della posta.