Dovecot è un applicativo open source che vi permette di ricevere email su un server Linux in totale sicurezza sia attraverso protocollo IMAP che POP3. In questo tutorial ti spieghiamo tutti gli step necessari per configurare Dovecot su Ubuntu 18.04.
Impostazione dei record DNS
Prima di procedere con l’installazione vera e propria di Dovecot è buona norma assicurarsi che i record del dominio siano impostati correttamente.
Immaginando di possedere il dominio domain.com, conviene prima di tutto impostare un record A di terzo livello di nome “mail” e puntarlo allo stesso indirizzo. Successivamente per ricevere la posta sul tuo server, è necessario creare anche un recordo di tipo MX che punti al terzo livello appena creato.
NOME |
TIPO |
TARGET |
mail |
A |
[IP_SERVER] |
|
MX |
mail.domain.com |
A questo punto potrai connetterti al tuo server tramite una connessione SSH. Se non l’hai ancora fatto, ti consigliamo di seguire la nostra guida per connetterti in sicurezza con il protocollo SSH. In caso di server locale puoi passare al punto successivo e aprire il terminale del tuo server.
Installazione di Dovecot
Dopo esserti connesso al server tramite SSH, puoi procedere all’installazione di Dovecot lanciando il seguente comando:
$ sudo apt update && sudo
apt install dovecot-core dovecot-pop3d dovecot-imapd
Tutti i file di configurazione di Dovecot sono presenti all'interno della directory /etc/dovecot/. In questa directory sono presenti diversi file: ognuno riguarda uno specifico set di parametri, che vengono inclusi dal file principale una volta avviato servizio, ovvero dovecot.conf, che dovrai modificare in questo modo:
# Abilitiamo i protocolli IMAP e POP3
protocols = imap pop3
# Permette a Dovecot di ascoltare tutte le connessioni ingresso (ipv4 / ipv6 )
listen = *, ::
Un altro parametro importante è presente nel file di configurazione /etc/dovecot/conf.d/10-mail.conf:
mail_location = maildir:~/Maildir
Questo parametro ti permette di indicare in quale percorso devono essere salvate tutte le email ricevute dagli utenti. Nell'esempio stai impostando la directory Maildir presente nella home dell’utente di riferimento.
Un ultimo parametro utile è presente nel file /etc/dovecot/conf.d/20-pop3.conf e permette di mantenere la compatibilità con alcuni client Outlook più vecchi:
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
Creazione di un utente
L'attuale configurazione di Dovecot si basa sugli utenti presenti nel sistema per l’accesso alle caselle di posta. Dopo aver completato l’installazione di base puoi procedere creando il primo utente:
# Creazione dell’utente
$ sudo useradd john -m
# Imposta la password dell'utente
$ sudo passwd john
# Prepara le directory delle email
$ sudo mkdir /home/john/Maildir
$ sudo chown john:john /home/john/Maildir
$ sudo chmod -R 700 /home/john/Maildir
Configurazione del Firewall
Se sul tuo sistema è presente un firewall allora lo dovrai configurare per abilitare il traffico mail.
Nel caso in cui tu utilizzassi il firewall UFW, avrai a disposizione dei profili preinstallati per Dovecot. Vediamo quindi come abilitarli.
Per verificare i profili disponibili installati nel firewall UFW esegui questo comando:
Verrà mostrata a schermo una lista simile a questa:
Available applications:
Dovecot IMAP
Dovecot POP3
Dovecot Secure IMAP
Dovecot Secure POP3
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Postfix
Postfix SMTPS
Postfix Submission
Per consentire il traffico mail, dovrai abilitare i profili Dovecot.
Puoi verificare le informazioni di un profilo in questo modo:
$ sudo ufw app info "Dovecot IMAP"
Dopo aver verificato i profili sarai pronto ad abilitarli:
$ sudo ufw allow "Dovecot POP3"
$ sudo ufw allow "Dovecot IMAP"
$ sudo ufw allow "Dovecot Secure IMAP"
$ sudo ufw allow " Dovecot Secure POP3"
Verificare il funzionamento del server di posta
Per verificare il corretto funzionamento del tuo server POP3 puoi usare telnet. Qualora non fosse installato nel sistema, puoi sempre farlo attraverso questo comando:
$ sudo apt install telnet
Per iniziare a testare il server di posta avvia quindi telnet:
$ sudo telnet localhost 110
Se tutto funziona correttamente dovrebbe essere stampato a schermo questo output:
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
Inserisci quindi il nome utente e password tramite il comando user e pass:
A login completato il server invierà il seguente output:
Puoi provare la ricezione di un messaggio vero e proprio utilizzando il comando mail fornito dal pacchetto Postfix (puoi installare Postfix seguendo la nostra guida Configurare un mail server SMTP con PostFix e Ubuntu 18.04 ) :
$
echo "TEST" | mail -s "TEST" john@localhost
Una volta inviata l’email con i comandi indicati sopra, torna a utilizzare telnet come indicato in precedenza per accedere alla casella di posta:
$ telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user john
+OK
pass test
+OK Logged in.
Completato il login potrai ottenere una lista dei messaggi ricevuti attraverso il comando list:
list
+OK 1 messages:
1 533
.
Come puoi notare hai un messaggio in attesa di essere letto: utilizza il comando RETR per ottenere il contenuto: