Nullmailer è un MTA (Mail Transfer Agent) minimalista da utilizzare al posto di Exim, Postfix, Sendmail, … nei sistemi embedded tipo Raspeberry Pi e, perché no, anche sul proprio PC Linux. Nullmailer è un MTA di tipo “relay only” ovvero invia tutti i messaggi di posta ad un o più server smtp definiti nella sua configurazione. Nullmailer non può ricevere posta. Se volete trasformare il vostro Rasperry Pi in un server di posta, Nullmailer non è sufficiente!
In questo breve articolo illustro la configurazione di Nullmailer come relay autenticato attraverso Gmail. Potete utilizzare un account Gmail creato ad hoc, oppure, se volete utilizzare il vostro account principale, consiglio di attivare la verifica in due passaggi e di creare una password specifica per Nullmailer. L’utilizzo di Gmail o di qualsiasi altro account di posta con smtp autenticato, rende l’invio delle mail indipendente dal vostro ISP: potete spostare il vostro Rasperry Pi su di un’altra rete e l’invio delle mail continuerà a funzionare.
Le istruzioni sono per Debian e derivate. La configurazione è stata testata con Raspberry Pi (Raspbian) e Olimex A10.
Come primo passo è necessario installare Nullmailer:
$ sudo apt-get install nullmailer mailutils
Il pacchetto mailutils
contiene il comando mail
utile per i test oppure negli shell script.
Durante l’installazione, il wizard vi porrà alcune domande. Potete eseguire nuovamente la configurazione guidata con il comando:
$ sudo dpkg-reconfigure nullmailer
La prima domanda riguarda il “mailname” del vostro sistema. Si tratta del nome che compare dopo la @ negli indirizzi di posta. Nel mio caso il sistema si chiama “Jarvis” e le mail avranno indirizzi del tipo pi@Jarvis, root@Jarvis, … Il file interessato da questa configurazione è /etc/mailname.
Ora dovete inserire la configurazione dell’host remoto a cui inviare le mail. Se avete un vostro server smtp, inserite il nome o l’indirizzo ip; nel caso di Gmail la configurazione sarà:
smtp.gmail.com smtp --port=587 --starttls --auth-login --user=<user>@gmail.com --pass=<password>
Questa configurazione è salvata nel file /etc/nullmailer/remotes. La documentazione di Nullmailer è striminzita: per sapere quali sono tutte le opzioni e i parametri possibili potete usare il comando:
$ /usr/lib/nullmailer/smtp -h
Il passo seguente è mostrato solo se utilizzate dpkg-reconfigure
e non viene visualizzato durante la prima installazione di Nullmailer. Dovete inserire l’indirizzo a cui inviare tutte le mail destinate agli account locali. Di solito coincide con l’indirizzo Gmail utilizzato al punto precedente. Tutte le mail generate in automatico dal vostro sistema verso account locali (es. cron), verranno girate a questo indirizzo.
Questa configurazione è salvata nel file /etc/nullmailer/adminaddr.
Testiamo la configurazione:
$ date | mail -s TEST pi $ date | mail -s PROVA user@example.com
Nel primo caso verrà invita una mail all’utente “pi” del vostro sistema, con oggetto TEST e la data e l’ora corrente come testo del messaggio. La mail verrà automaticamente inviata all’indirizzo configurato precedentemente (adminaddr). Nel secondo caso verrà inviata una mail all’indirizzo <user@example.com> (mettete un indirizzo valido).
Screnshots:


