Davide Targa website

Programming, web development and open source

Raspberry Pi: Invio Di Mail Tramite Gmail

La configurazione di un server di mail per Raspberry Pi può essere utile in numerose situazioni. Una delle principali è la possibilità per cron di inviare mail al termine dell’esecuzione dei job.

Il modo più semplice di abilitare il nostro Raspberry Pi (con Raspbian) all’invio di mail, è forse per mezzo di SSMTP, ma personalmente non ho avuto molta fortauna con questo metodo. C’è da dire che SSMTP permette di avere una configurazione forse più “leggera” in quanto non è necessario installare un server di mail. In ogni caso io ho scelto di installare exim4. Vediamo come si procede:

Accediamo tramite ssh al nostro raspberry e installiamo il software necessario:

1
sudo apt-get install exim4

Dopo l’installazione procediamo alla configurazione del server e dei parametri di autenticazione:

1
sudo dpkg-reconfigure exim4-config

Rispondiamo come segue alle domande che ci verrano proposte:

  • General type of mail configuration: Mail sent by smarthost; received via SMTP or fetchmail
  • System mail name: raspberrypi
  • IP-addresses to listen on for incoming SMTP connections: 127.0.0.1 ; ::1
  • Other destinations for which mail is accepted: raspberrypi
  • Machines to relay mail for:
  • IP address or host name of the outgoing smarthost: smtp.gmail.com:587
  • Hide local mail name in outgoing mail? No
  • Keep number of DNS-queries minimal (Dial-on-Demand)? No
  • Delivery method for local mail: Maildir format in home directory
  • Split configuration into small files? No

Procediamo editando il file /etc/exim4/passwd.client per inserire i parametri di autenticazione del nostro account. Quindi inseriamo nel file le tre righe seguenti con le ovvie sostituzioni:

1
2
3
gmail-smtp.l.google.com:USERNAME@gmail.com:PASSWORD
*.google.com:USERNAME@gmail.com:PASSWORD
smtp.gmail.com:USERNAME@gmail.com:PASSWORD

Aggiorniamo la configurazione e riavviamo il servizio:

1
2
sudo update-exim4.conf
sudo service exim4 restart

A queesto punto la configurazione del servizio è completa. Se desideriamo che tutte le mail vengano inoltrate all’utente pi e quindi all’account che abbiamo configurato, possiamo modificare il file /etc/aliases come segue (anche qui con le ovvie sostituzioni):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: pi
pi: USERNAME@gmail.com

Al termine delle modifiche non dimentichiamo di inizializzare il database degli alias con:

1
sudo newaliases

Per testare il funzionamento della nostra configurazione possiamo inviare una mail di test all’utente root con il comando:

1
echo "contenuto della mail" | mail -s "oggetto della mail" root

Dovremmo ricevere in pochi istanti la mail nell’account gmail che è stato configurato.

In caso di errori è possibile consultare il file di log di exim4 situato in /var/log/exim4/mainlog

Comments