Inviare email da Ubuntu 18.04 tramite mutt e nullmailer
Per poter mandare email anche solo a livello di diagnostica o reportistica è possibile sfruttare il programma mutt che offre comandi a riga di comando o anche un minimo di GUI in ambito shell
1 |
sudo apt-get install mutt |
Se avviandolo si ottiene l’errore “/var/mail/<utente>: No such file or directory (errno = 2)” basta creare il file che sarà utilizzato come archivio
1 2 |
sudo touch /var/mail/<utente> sudo chown </utente> /var/mail/<utente> |
Se non abbiamo un SMTP server nostro, se ne può sfruttare uno esterno tramite un relay
1 |
sudo apt-get install nullmailer |
In stallazione richiederà prima il nome host e poi la stringa di configurazione dell’ SMTP server esterno (nel caso di porta 25 standard):
1 |
smtp.server.loc smtp --user=<utente> --pass=<password> |
Oppure con cifratura (ad esempio StartTLS):
1 |
smtp.server.loc smtp --port=587 --starttls --user=<utente> --pass=<password> |
Se il server ha un certificato autoprodotto potrebbe essere necessario aggiungere –insecure alla stringa, nel caso serva modificare in seguito questo parametro si trova in /etc/nullmailer/remotes
Essendoci user e pass in chiaro lasciamo solo l’accesso come root
1 2 |
sudo chown mail.mail /etc/nullmailer/remotes sudo chmod 640 /etc/nullmailer/remotes |
Se non vogliamo tenere traccia delle mail inviate basta cancellare il file <home>/sent
Proviamo a inviare un email tramite la GUI e se funziona si può sfruttare anche la riga di comando.
Le intestazioni si configurano in <home>/.muttrc:
1 2 |
set from = "utente@domain.loc" set realname = "Nome e Cognome" |
Per non salvare mai la posta inviata nel file <home>\sent aggiungere “set copy = no”
Per inviare un email con testo in un file e un allegato:
1 |
mutt -s "Test email" destinatario@domain.loc < messaggio.txt -a allegato.jpg |
Oppure inviando il testo direttamente:
1 |
echo "Prova invio email con allegato tramite mutt" | mutt -s "Test email" destinatario@domain.loc -a allegato.jpg |
Per visualizzare gli errori di nullmailer:
1 |
cat /var/log/syslog | grep nullmailer |
Nel caso di molti errori di invio per svuotare la coda:
1 |
sudo rm /var/spool/nullmailer/queue/* |