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

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):

mail -s "Prova" destinatario@gmail.com

Come mandare una mail se un host è irraggiungibile

E per raggiungibile si intende che non risponde al ping. Quindi vediamo subito come fare:

sudo nano script.sh

Incollate dentro qualcosa di simile:

#!/bin/sh

ip='192.168.1.1'

if ! ping -c1 -w3 $ip; then
	echo "Non pinga" | mail -s "Non pinga" destinatario@hostname.com
fi

Questo invierà una mail nel caso l’host in questione (che ha come IP 192.168.1.1) non risponda al ping.

Se volete farlo eseguire ogni 5 minuti, quindi nel caso vi serva che vi avvisi non appena l’host non risponde, vi basterà configurarlo con crontab:

sudo crontab -e

E incollate:

*/5 * * * * sudo /home/script.sh > /dev/null

Ah ovviamente date i permessi di esecuzione con sudo chmod 777 script.sh.