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.