Dovecot è un'applicazione open source che permette di ricevere email su un server Linux in totale sicurezza sia tramite protocollo IMAP che POP3.
In questo tutorial vengono spiegati tutti i passaggi necessari per configurare Dovecot su Ubuntu 18.04.
Configurazione dei record DNS
Prima di procedere con l'installazione vera e propria di Dovecot, assicurarsi che i record del dominio siano impostati correttamente.
Supponendo che tu sia il proprietario del dominio domain.com, la prima cosa da fare è impostare un record A di terzo livello chiamato "mail" e puntarlo allo stesso indirizzo. Quindi per ricevere le email sul tuo server, crea un record di tipo MX che punti al dominio di terzo livello appena creato.
NOME HOST | TIPO | VALORE |
posta | A | [SERVER_IP] |
MX | mail.domain.com |
A questo punto puoi connetterti al tuo server tramite una connessione SSH. Se non l'hai ancora fatto, ti consigliamo di seguire la nostra guida per connetterti in modo sicuro con SSH. Nel caso di un server locale, vai al passaggio successivo e apri il terminale del tuo server.
Installazione Dovecot
Dopo esserti connesso al server tramite SSH, installa Dovecot eseguendo il seguente comando:
$ sudo apt update && sudo
apt install dovecot-core dovecot-pop3d dovecot-imapd
Tutti i file di configurazione di Dovecot sono presenti nella directory/etc/dovecot/. In questa directory ci sono diversi file. Ogni file riguarda uno specifico insieme di parametri inclusi nel file principale, una volta avviato il servizio. Il servizio, ovvero dovecot.conf, dovrebbe essere modificato come segue:
# Abilitiamo i protocolli IMAP e POP3
protocols = imap pop3
#Allows Dovecot to listen to all input connections (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 permette di indicare il percorso appropriato per salvare tutte le email ricevute dagli utenti. Nell'esempio sopra viene impostata la directory Maildir presente nella home dell'utente di riferimento.
Un altro parametro utile nel file /etc/dovecot/conf.d/20-pop3.conf permette di mantenere la compatibilità con alcuni client Outlook meno recenti:
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 di accesso alle caselle di posta. Dopo aver completato l'installazione di base, procedi creando il primo utente:
# User creation
$ sudo useradd john -m
# set password of user
$ sudo passwd john
# mails directory
$ sudo mkdir /home/john/Maildir
$ sudo chown john:john /home/john/Maildir
$ sudo chmod -R 700 /home/john/Maildir
Configurazione firewall
In caso di firewall sul tuo sistema, configuralo per abilitare il traffico di posta.
Quando si utilizza il firewall UFW, vengono forniti profili preinstallati per Dovecot. Vediamo quindi come abilitarli.
Per verificare i profili disponibili installati nel firewall UFW esegui questo comando:
$ sudo ufw app list
Sullo schermo verrà visualizzato un elenco simile al seguente:
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 di posta, abilita i profili Dovecot.
Per controllare le informazioni del profilo:
$ sudo ufw app info "Dovecot IMAP"
Dopo aver controllato i profili, sei pronto per abilitarli:
$ sudo ufw allow "Dovecot POP3"
$ sudo ufw allow "Dovecot IMAP"
$ sudo ufw allow "Dovecot Secure IMAP"
$ sudo ufw allow "Dovecot Secure POP3"
Verifica del funzionamento del server di posta
Per verificare il corretto funzionamento del tuo server POP3, usa telnet. Se non è installato sul tuo sistema, fallo eseguendo questo comando:
$ sudo apt install telnet
Per iniziare a testare il server di posta, avvia telnet:
$ sudo telnet localhost 110
Se tutto funziona correttamente, sullo schermo dovrebbe essere visualizzato il seguente output:
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
Quindi inserisci il nome utente e la password usando il comando user and pass:
user john
pass test
Una volta completato il login, il server invierà il seguente output:
+OK Logged in.
Per provare a ricevere un messaggio reale, usa il comando mail fornito dal pacchetto postfix (puoi installare Postfix seguendo la nostra guida Come configurare un server di posta SMTP con Postfix su Ubuntu 18.04):
$
echo "TEST" | mail -s "TEST" [email protected]
Una volta inviata l'e-mail, con i comandi sopra, utilizza nuovamente telnet come sopra 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.
Una volta effettuato il login, per ottenere un elenco dei messaggi ricevuti eseguire il comando list:
list
+OK 1 messages:
1 533
.
Come puoi vedere, hai un messaggio non letto:usa il comando RETR per accedere al contenuto:
retr 1
+OK 533 octets
Return-Path: <[email protected]>
To: [email protected]
Subject: Test
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <[email protected]>
From: [email protected] (root).