Inviare email di report dalla console di Voyage Linux
Su Voyage Linux per problemi di dipendenze non si riesce ad installare il classico sendmail per poter mandare email, però è possibile utilizzare nullmailer che permette di utilizzare un smtp esterno al suo posto, come client email invece possiamo utilizzare mutt che oltre a permettere l’invio da parametri ha anche una sorta di interfaccia volendo:
| 1 | apt-get install nullmailer mutt | 
Installando nullmailer verranno poi richiesti i parametri per la connessione al server esterno messi nel formato:
| 1 | smtpserver.your-isp.com smtp --user=[user] --pass=[password] | 
Nel caso volessimo usare la cifratura SSL o TLS:
| 1 2 | smtpserver.your-isp.com smtp --ssl --port=465 --user=[user] --pass=[password] smtpserver.your-isp.com smtp --starttls --port=587 --user=[user] --pass=[password] | 
Per verificare eventuali errori è possibile controllare il file:
| 1 | tail /var/log/syslog | 
Nel caso poi si ottenga l’errore “Server SSL/TLS certificate is untrusted” magari per via che è un certificato fatto in casa o comunque non verificato basta aggiungere il parametro:
| 1 2 | smtpserver.your-isp.com smtp --ssl --port=465 --insecure --user=[user] --pass=[password] smtpserver.your-isp.com smtp --starttls --port=587 --insecure --user=[user] --pass=[password] | 
Per poter utilizzare la cifratura occorre avere almeno la versione 1.10 di nullmailer, su Ubuntu 12.04 ad esempio c’è solo la 1.05, per avere la 1.11 serve aggiungere un PPA:
| 1 2 3 | sudo apt-add-repository ppa:mikko-red-innovation/ppa sudo apt-get update sudo apt-get install nullmailer | 
Per far usare il mittente a mutt occorre editare il file .muttrc nella home:
| 1 | nano [home]/.muttrc | 
Indicando il mittente come:
| 1 | set from="Sender <email@your-isp.com>" | 
L’invio di email da console può essere richiamato in due maniere, o passando il testo direttamente:
| 1 2 | echo "Qui il testo del messaggio" | mutt -s "Oggetto del messaggio" emaildestinatario@your-isp.com printf "Qui il testo del messaggio\ncon il salto riga" | mutt -s "Oggetto del messaggio" emaildestinatario@your-isp.com | 
Oppure leggendo il corpo del messaggio da un file:
| 1 | mutt -s "Oggetto del messaggio" emaildestinatario@your-isp.com < /path/file | 
Se aprendo mutt vi viene notificato che non esiste il percorso /var/mail/root basta uscire e crearlo:
| 1 | touch /var/mail/root | 
Aprite poi di nuovo mutt e non dovreste più avere la notifica.
Nota: Se avete dei cronjob che girano, magari anche a tempi ridotti, per evitare che intasino la coda di invio basta aggiungere “ >/dev/null 2>&1” in coda al comando schedulato per non far generare un output e quindi non far creare un messaggio.