Vedremo come configurare Exim4 per inviare email di sistema con Gmail. Questo garantirà che le tue email inviate con il CRON siano instradate correttamente e non finiscano nello spam.
Installiamo Exim4
apt-get install exim4
Configurazione
dpkg-reconfigure exim4-config
Scegli: posta inviata tramite smarthost; nessuna posta locale
Poi rispondi alle domande come segue:
System mail name: YOUR_HOSTNAME
IP-addresses to listen on for incoming SMTP connections: 127.0.0.1 ; ::1
Other destinations for which mail is accepted: <BLANK>
Visible domain name for local users: <BLANK>
IP address or host name of the outgoing smarthost: smtp.gmail.com::587
Keep number of DNS-queries minimal (Dial-on-Demand)? No
Split configuration into small files? No
Root and postmaster mail recipient: <BLANK>
Apri e modifica il file: /etc/exim4/exim4.conf.template
Cerca:
.ifdef DCconfig_smarthost DCconfig_satellite
E aggiungi queste righe subito dopo:
send_via_gmail:
driver = manualroute
domains = ! +local_domains
transport = gmail_smtp
route_list = * smtp.gmail.com
Elimina tutti gli altri blocchi smarthost che contengono:
domains = ! +local_domains
Commentali mettendo un # all'inizio della riga
Cerca gli autenticatori con l'occorrenza:
begin authenticators
E aggiungi queste righe:
gmail_login:
driver = plaintext
public_name = LOGIN
client_send = : VOTRE_EMAIL@gmail.com : VOTRE_PASS_GMAIL
Elimina tutti gli altri blocchi che contengono:
public_name = LOGIN
Puoi anche semplicemente rinominarli così:
login:
driver = plaintext
public_name = LOGIN_BACK
Questo evita conflitti di nomi.
Poi cerca:
transport/30_exim4-config_remote_smtp_smarthost
E aggiungi queste righe:
gmail_smtp:
driver = smtp
port = 587
hosts_require_auth = $host_address
hosts_require_tls = $host_address
Chiudi e salva il file di configurazione: /etc/exim4/exim4.conf.template
Ricarichiamo il file di configurazione:
update-exim4.conf
E riavviamo il servizio:
/etc/init.d/exim4 restart
Possiamo testare l'invio delle nostre email:
echo 'Test' | mail -s 'Message test' VOTRE_EMAIL@ADDRESSE