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/*  |