Dovecot es una aplicación de código abierto que le permite recibir correos electrónicos en un servidor Linux con total seguridad tanto a través del protocolo IMAP como POP3.
En este tutorial se explican todos los pasos necesarios para configurar Dovecot en Ubuntu 18.04.
Configuración de registros DNS
Antes de continuar con la instalación real de Dovecot, asegúrese de que los registros de dominio estén configurados correctamente.
Suponiendo que posee el dominio dominio.com, lo primero que debe hacer es configurar un registro A de tercer nivel llamado "correo" y apuntarlo a la misma dirección. Luego, para recibir correos electrónicos en su servidor, cree un registro de tipo MX que apunte al dominio de tercer nivel que acaba de crear.
NOMBRE DEL HOST | TIPO | VALOR |
correo | A | [IP_SERVIDOR] |
MX | correo.dominio.com |
En este punto, puede conectarse a su servidor a través de una conexión SSH. Si aún no lo ha hecho, se recomienda seguir nuestra guía para conectarse de forma segura con SSH. En caso de un servidor local, vaya al siguiente paso y abra la terminal de su servidor.
Instalación de palomar
Después de conectarse al servidor a través de SSH, instale Dovecot ejecutando el siguiente comando:
$ sudo apt update && sudo
apt install dovecot-core dovecot-pop3d dovecot-imapd
Todos los archivos de configuración de Dovecot están presentes en el directorio/etc/dovecot/. En este directorio hay varios archivos. Cada archivo se refiere a un conjunto específico de parámetros incluidos por el archivo principal, una vez que se inicia el servicio. El servicio, es decir, dovecot.conf, debe modificarse de la siguiente manera:
# Abilitiamo i protocolli IMAP e POP3
protocols = imap pop3
#Allows Dovecot to listen to all input connections (ipv4 / ipv6)
listen = *, ::
Otro parámetro importante está presente en el archivo de configuración /etc/dovecot/conf.d/10-mail.conf:
mail_location = maildir:~/Maildir
Este parámetro le permite indicar la ruta adecuada para guardar todos los correos electrónicos recibidos de los usuarios. En el ejemplo anterior, se está configurando el directorio Maildir presente en el hogar del usuario de referencia.
Un parámetro más útil en el archivo /etc/dovecot/conf.d/20-pop3.conf permite mantener la compatibilidad con algunos clientes de Outlook más antiguos:
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
Crear un usuario
La configuración actual de Dovecot se basa en los usuarios presentes en el sistema para acceder a los buzones. Después de completar la instalación básica, continúe creando el primer usuario:
# 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
Configuración del cortafuegos
En caso de que haya un firewall en su sistema, configúrelo para habilitar el tráfico de correo.
Al usar el firewall UFW, se proporcionan perfiles preinstalados para Dovecot. Así que veamos cómo habilitarlos.
Para verificar los perfiles disponibles instalados en el firewall UFW, ejecute este comando:
$ sudo ufw app list
Se mostrará una lista similar a la siguiente en la pantalla:
Available applications:
Dovecot IMAP
Dovecot POP3
Dovecot Secure IMAP
Dovecot Secure POP3
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Postfix
Postfix SMTPS
Postfix Submission
Para permitir el tráfico de correo, habilite los perfiles de Dovecot.
Para verificar la información del perfil:
$ sudo ufw app info "Dovecot IMAP"
Después de revisar los perfiles, está listo para habilitarlos:
$ sudo ufw allow "Dovecot POP3"
$ sudo ufw allow "Dovecot IMAP"
$ sudo ufw allow "Dovecot Secure IMAP"
$ sudo ufw allow "Dovecot Secure POP3"
Comprobando el funcionamiento del servidor de correo
Para comprobar el correcto funcionamiento de su servidor POP3, utilice telnet. Si no está instalado en su sistema, hágalo ejecutando este comando:
$ sudo apt install telnet
Para comenzar a probar el servidor de correo, inicie telnet:
$ sudo telnet localhost 110
Si todo funciona correctamente, debería mostrarse el siguiente resultado en la pantalla:
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
Luego ingrese el nombre de usuario y la contraseña usando el comando de usuario y pase:
user john
pass test
Una vez que se complete el inicio de sesión, el servidor enviará el siguiente resultado:
+OK Logged in.
Para intentar recibir un mensaje real, use el comando de correo provisto por el paquete postfix (puede instalar Postfix siguiendo nuestra guía Cómo configurar un servidor de correo SMTP con Postfix en Ubuntu 18.04):
$
echo "TEST" | mail -s "TEST" [email protected]
Una vez que se envía el correo electrónico, con los comandos anteriores, use telnet una vez más para acceder al buzón:
$ telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user john
+OK
pass test
+OK Logged in.
Una vez que haya iniciado sesión, para obtener una lista de los mensajes recibidos, ejecute el comando list:
list
+OK 1 messages:
1 533
.
Como puede ver, tiene un mensaje sin leer:use el comando RETR para acceder al contenido:
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).