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.

Come controllare che le mail di PHP siano attive

E con controllare che le mail di PHP siano attive intendo tutti gli script necessari per inviare email con PHP (avete aggiornato almeno alla versione 7 di PHP, sì?). Sia se usate NGINX sia se usate Apache, aprite il terminale ed eseguite:

php -a

E incollate (cambiando ovviamente l’indirizzo di destinazione yourdomain.com):

mail ('you@yourdomain.com', "Test", "Test mail with PHP");

Caso in cui non andasse, installate:

sudo apt-get install mailutils postfix

E configurare postfix seguendo i passaggi. Una volta fatto, riprovate e tecnicamente dovrebbe andare (se avete tutto installato correttamente.