Invio non interattivo di mail da shell

Tramite il comando mail è possibile invare in modo non interattivo, tipicamente da uno script shell, una messaggio di posta elettronica.

Nel caso intervenga la necessità di inviare una email, in seguito ad un controllo eseguito per esempio da uno script, è possibile farlo utilizzando una particolare sintassi del comando mail: mail -s [oggetto] [destinatario] < file .
Esempio:
root@Joker:/script# cat /script/check.sh
#!/bin/bash
if [ ! -e /disco2/backup/joker/backup.tar.gz ]; then
        mail -s "Joker Backup Control" homer < "/script/testomail.txt"
fi

In questo caso lo script, che potrebbe essere per esempio lanciato a crontab, verifica l'esistenza del file backup.tar.gz, ed in caso contario, invia una mail all'utente homer con il testo contenunto in testomail.txt

Tramite le opzioni -c e -b è possibile rispettivamente inviare la mail in copia o in copia nascosta anche ad altri destinatari.
Ovviamente è possibile usare mail anche direttamente da shell in modalità interattiva, ad esempio con: df -k | mail -s "Spazio su Disco" [email protected] si invia un messaggio con l'output del comando df -k all'indirizzo specificato.

Privacy Policy