Site icon Gioxx.org

RPi: inviare posta elettronica da Raspberry

Di motivi possono essercene diversi, eppure la sostanza rimane sempre quella: RPi deve poter inviare email in caso di necessità. È comodo, è logico, è necessario quando hai bisogno di essere avvisato riguardo cambiamenti di sistema (un IP nuovo? È solo un esempio), rilevamento di dati da sensori esterni, log di backup che hai fatto eseguire al tuo fedele micro-computer e chissà cos’altro. Con ssmtp è questione di un attimo, sei subito pronto per partire, ti servirà solo un server SMTP da sfruttare (va bene anche Gmail, basati sulle informazioni di questo vecchio articolo: SMTP di GMail: l’utilizzo tramite app (terze parti)).

Installazione e configurazione

Dopo aver lanciato un sudo apt-get update utile all’aggiornamento dei pacchetti disponibili, installa ssmtp come anticipato nell’apertura dell’articolo, ti basta poco:

sudo apt-get install ssmtp
sudo apt-get install mailutils

Al termine dovrai inserire i dati di configurazione per poter sfruttare il server SMTP esterno, ti basterà modificare il file di configurazione di ssmtp tramite sudo nano /etc/ssmtp/ssmtp.conf. Puoi commentare le righe già presenti nel file, aggiungendo in coda l’intero blocco necessario:

root=postmaster@contoso.com
mailhub=smtp.contoso.com:587
rewriteDomain=contoso.com
hostname=rpi.contoso.com
AuthUser=postmaster@contoso.com
AuthPass=Pa$$word
UseSTARTTLS=YES
UseTLS=NO

Rapidissimamente:

Nel caso in cui tu voglia utilizzare il server SMTP di Gmail ti consiglio di dare un’occhiata a questo articolo che ho trovato sul web.

Modifica ora il contenuto del file revaliases (sudo nano /etc/ssmtp/revaliases) aggiungendo semplicemente questa riga:

root:postmaster@contoso.com

Salva il file e chiudilo, a questo punto ti manca solo da mettere a posto i permessi del file di configurazione di ssmtp (sudo chmod 774 /etc/ssmtp/ssmtp.conf) e sei pronto a eseguire il primo test di invio posta elettronica dal tuo RPi.

Test di invio

Lancia da terminale un semplice echo "testo della email" | mail -s "test" mario.rossi@contoso.com sostituendo ovviamente mario.rossi@contoso.com con il tuo indirizzo reale di posta elettronica, questo dovrebbe inviarti nel giro di poco una nuova email alla tua casella, segno che tutto è andato per il verso giusto.

Ma

Nel caso tu avessi mancato o riprodotto male un passaggio potresti avere la sfortuna (come successo la prima volta al sottoscritto) di incorrere nell’errore mail: cannot send message: Process exited with a non-zero status. A questo punto ti serve qualche informazione in più, io per averla io ho installato mpack (sudo apt-get install mpack) e:

Ed ecco servito il reale problema:

sendmail: RCPT TO:<mario.rossi@contoso.com> (504 5.5.2 <pi@raspberrypi>: Sender address rejected: need fully-qualified address)

Una volta messo a posto quanto sbagliato (segui scrupolosamente la procedura riportata poco sopra in questo mio articolo e assicurati di aver specificato nel modo giusto il tuo dominio di posta e le relative credenziali) la mail è partita correttamente, consegnata ancora calda nella mia mailbox poco dopo:

Da questo momento sarà possibile inviare mail da RPi, potrai quindi inserire i comandi necessari in qualsiasi script o esecuzione programmata (cronjob) secondo esigenza.


Grazie a:
askubuntu.com/questions/643873/how-to-get-ssmtp-to-map-local-user-to-email-address-for-the-to-field
raspberrypi.org/forums/viewtopic.php?t=191675
raspberry-projects.com/pi/software_utilities/email/ssmtp-to-send-emails
possiblelossofprecision.net/?p=591

Correzioni, suggerimenti? Lascia un commento nell'apposita area qui di seguito o contattami privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! ☕ :-)

L'articolo potrebbe non essere aggiornato

Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)

Condividi l'articolo con i tuoi contatti:
Exit mobile version