Tutorial > Configurare un mail server POP3 / IMAP con Dovecot e Ubuntu 18.04

Configurare un mail server POP3 / IMAP con Dovecot e Ubuntu 18.04

Pubblicato il: 09 ottobre 2019

Dovecot IMAP Mail POP3 Ubuntu

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 install dovecot

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 con password “test”

$ sudo useradd john -m -p test

# 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:

$ sudo ufw app list

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:

user john

pass test

A login completato il server invierà il seguente output:

+OK Logged in.

Puoi provare la ricezione di un messaggio vero e proprio utilizzando il comando mail: 

$ sudo mail john@localhost

Subject: Test ricezione

EOT

.

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:

retr 1

+OK 533 octets

Return-Path: <root@postflix.com>

To: john@localhost.postflix.com

Subject: Test ricezione

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: <20190701140840.437C1852@mail.postflix.com>

From: root@postflix.com (root).