Come configurare SSMTP per inviare email

Se state cercando un modo veloce e immediato (senza perderci la testa, si intende) per inviare delle email dal vostro computer, server o Raspberry Pi… continuate a leggere!

Vi basterà loggare in SSH ed installare:

sudo apt install ssmtp
sudo apt install mailutils
sudo nano /etc/ssmtp/ssmtp.conf
root=postmaster
mailhub=smtp.gmail.com:587
hostname=raspberrypi
AuthUser=marco@gmail.com
AuthPass=password
FromLineOverride=YES
UseSTARTTLS=YES

E per inviare una mail vi basterà:

echo "Hello world" | mail -s "Subject" destinatario@domain.com

Se invece volete inviare un file:

sudo apt install mpack
mpack -s "Test" /home/pi/file.txt destinatario@domain.com

Come inviare email da terminale

Per inviare delle mail da terminale (quindi presupponendo che siate in un ambiente Linux o Unix-like), il mio consiglio è utilizzare SSMTP.

In questo articolo ho spiegato come installarlo e configurarlo con Gmail, così non dovrete fare redirect delle porte ecc.

Una volta configurato, vi basterà eseguire qualcosa del tipo:

echo "Prova" | mail -s "Prova" destinatario@hostname.com
Photo by Joanna Kosinska on Unsplash

Come configurare SSMTP con Gmail

Andiamo dritti al sodo come al solito: se volete inviare delle email dal vostro server, virtual machine o Raspberry Pi che sia, ma volete utilizzare i server di Google (quindi quelli di Gmail), vi basterà installare SSMTP e configurarlo a dovere:

sudo apt install ssmtp mailutils

Modificate il file di configurazione:

sudo nano /etc/ssmtp/ssmtp.conf

E incollate (cambiando ovviamente hostname, email e password):

root=postmaster
mailhub=mail
hostname=hostname.com
FromLineOverride=YES
AuthUser=email@gmail.com
AuthPass=password
mailhub=smtp.gmail.com:587
UseSTARTTLS=YES

Dovreste attivare l’opzione di Google che consente l’uso di app meno sicure ad accedere all’account. Come al solito le opzioni cambiano quindi vi lascio la documentazione ufficiale https://support.google.com/accounts/answer/6010255?hl=it

Non preoccupatevi sul fatto che sia poco sicuro se siete gli unici ad aver accesso alla macchina, server o vm che sia. In caso contrario, cercate un altro modo per mandare email e configuratelo diversamente.

Ora se volete inviare una mail, vi basterà aprire il terminale ed eseguire (anche tramite script bash come indicato in questa guida):

echo "Prova" | mail -s "Prova" destinatario@hostname.com