--- title: "Cómo configurar Dovecot IMAP y POP3 en Ubuntu 24.04" description: "Instala Dovecot en Ubuntu 24.04 junto a Postfix para ofrecer IMAP y POP3 con TLS, activa el envío autenticado en el puerto 587 y bloquea ataques con Fail2ban." category: "Servidor de Correo" language: es source: https://cubepath.com/es/docs/servidor-de-correo/configuracion-de-dovecot-para-imap-pop3 updated: 2026-09-25 --- # Cómo configurar Dovecot IMAP y POP3 en Ubuntu 24.04 Dovecot es un servidor IMAP y POP3: da acceso a clientes de correo como Thunderbird, Outlook o las apps de correo del móvil a los buzones que llena Postfix. También proporciona el servicio de autenticación que usa Postfix para que esos mismos clientes puedan enviar correo a través del servidor. En este tutorial añadirás Dovecot a un servidor Postfix existente en Ubuntu 24.04, ofrecerás IMAP en el puerto 993 y POP3 en el 995 con un certificado de Let's Encrypt, y activarás el envío autenticado en el puerto 587. ## Requisitos previos Para seguir este tutorial necesitas: - Un servidor con Ubuntu 24.04 LTS en el que Postfix ya reciba correo para `your_domain`, configurado como en la guía "Cómo montar un servidor de correo Postfix en Ubuntu 24.04". En concreto: - Postfix entrega en `Maildir/` dentro del directorio personal de cada usuario (`home_mailbox = Maildir/`). - Existe un certificado de Let's Encrypt en `/etc/letsencrypt/live/mail.your_domain/`. - UFW está activado con SSH permitido. - Un usuario no root con privilegios `sudo`. - Un usuario de Linux cuyo buzón vas a leer, llamado `your_user` en esta guía. En esta configuración cada cuenta de correo es un usuario del sistema con contraseña; si necesitas cuentas de correo que no sean usuarios de Linux, sigue en su lugar la guía de Postfix y Dovecot con buzones virtuales. ## Paso 1: Instalar Dovecot Instala el núcleo de Dovecot junto con los servidores IMAP y POP3: ```bash sudo apt update sudo apt install dovecot-core dovecot-imapd dovecot-pop3d ``` Los paquetes activan automáticamente los protocolos `imap` y `pop3` y arrancan el servicio. `dovecot --version` debe mostrar una versión 2.3, que es para la que está escrita la configuración de esta guía. Comprueba el estado del servicio: ```bash sudo systemctl status dovecot --no-pager ``` ```output ● dovecot.service - Dovecot IMAP/POP3 email server Loaded: loaded (/usr/lib/systemd/system/dovecot.service; enabled; preset: enabled) Active: active (running) since ... ``` La configuración de Dovecot está repartida en archivos pequeños dentro de `/etc/dovecot/conf.d/`, que incluye `/etc/dovecot/dovecot.conf`. Solo tienes que cambiar unos pocos. ## Paso 2: Apuntar Dovecot al Maildir Por defecto, Ubuntu configura Dovecot para leer archivos mbox en `/var/mail`. Postfix entrega en `~/Maildir`, así que ambos tienen que coincidir. Abre los ajustes de correo: ```bash sudo nano /etc/dovecot/conf.d/10-mail.conf ``` Busca la línea `mail_location` y cámbiala por: ```text mail_location = maildir:~/Maildir ``` A continuación, asegúrate de que todas las cuentas tienen las carpetas estándar para que los clientes guarden los enviados y los borradores en el mismo sitio. Abre las definiciones de buzones: ```bash sudo nano /etc/dovecot/conf.d/15-mailboxes.conf ``` Añade `auto = subscribe` a los buzones `Drafts`, `Junk`, `Trash` y `Sent` para que se creen y se suscriban automáticamente: ```text namespace inbox { mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Junk { auto = subscribe special_use = \Junk } mailbox Trash { auto = subscribe special_use = \Trash } mailbox Sent { auto = subscribe special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } } ``` Deja el resto del archivo sin cambios. ## Paso 3: Configurar la autenticación Por defecto, Dovecot autentica a los usuarios del sistema mediante PAM (`!include auth-system.conf.ext` en `10-auth.conf`), que es lo que necesita esta configuración. Dos cambios hacen que funcione bien con los clientes de correo. Abre los ajustes de autenticación: ```bash sudo nano /etc/dovecot/conf.d/10-auth.conf ``` Establece estos valores: ```text disable_plaintext_auth = yes auth_username_format = %Ln auth_mechanisms = plain login ``` - `disable_plaintext_auth = yes` rechaza contraseñas en conexiones sin cifrar. Es el valor por defecto, pero conviene dejarlo explícito. - `auth_username_format = %Ln` pasa el usuario a minúsculas y quita el dominio, así que se puede iniciar sesión como `your_user@your_domain` o como `your_user`. Muchos clientes rellenan la dirección de correo completa por defecto. - `auth_mechanisms = plain login` añade el mecanismo `LOGIN` que usan las versiones antiguas de Outlook. Ambos envían la contraseña en claro dentro de la conexión TLS, y por eso en el siguiente paso TLS pasa a ser obligatorio. ## Paso 4: Activar TLS con el certificado de Let's Encrypt Abre los ajustes de SSL: ```bash sudo nano /etc/dovecot/conf.d/10-ssl.conf ``` Sustituye las líneas `ssl`, `ssl_cert` y `ssl_key` y fija el protocolo mínimo: ```text ssl = required ssl_cert = QUIT <- 221 2.0.0 Bye ``` ## Paso 8: Proteger los inicios de sesión con Fail2ban Un servidor IMAP y SMTP público recibe intentos de adivinar contraseñas a las pocas horas de estar en línea. Fail2ban lee el log de correo y bloquea temporalmente las direcciones con fallos repetidos. Instálalo: ```bash sudo apt install fail2ban ``` Activa las jails incluidas para la autenticación de Dovecot y Postfix en un archivo local, que las actualizaciones del paquete no sobrescriben: ```bash sudo nano /etc/fail2ban/jail.d/mail.local ``` ```ini [dovecot] enabled = true [postfix-sasl] enabled = true ``` Reinicia Fail2ban y comprueba las jails: ```bash sudo systemctl restart fail2ban sudo fail2ban-client status ``` ```output Status |- Number of jail: 3 `- Jail list: dovecot, postfix-sasl, sshd ``` `sudo fail2ban-client status dovecot` muestra las direcciones bloqueadas en ese momento. ## Paso 9: Configurar un cliente de correo Usa estos ajustes en Thunderbird, Outlook o la app de correo del móvil: | Ajuste | Valor | |---|---| | Usuario | `your_user@your_domain` (o `your_user`) | | Servidor entrante (IMAP) | `mail.your_domain`, puerto `993`, SSL/TLS, contraseña normal | | Servidor entrante (POP3) | `mail.your_domain`, puerto `995`, SSL/TLS, contraseña normal | | Servidor saliente (SMTP) | `mail.your_domain`, puerto `587`, STARTTLS, contraseña normal | Elige IMAP salvo que quieras expresamente descargar los mensajes y borrarlos del servidor. IMAP mantiene el correo y las carpetas en el servidor, así que todos los dispositivos ven el mismo estado. ## Solución de problemas - **`auth failed` con una contraseña correcta**: revisa `sudo grep 'auth' /var/log/mail.log | tail`. Un mensaje `pam_authenticate() failed` indica que la contraseña es incorrecta o que la cuenta está bloqueada. Prueba directamente con `sudo doveadm auth test your_user`. - **`Plaintext authentication disallowed on non-secure connection`**: el cliente se conectó al 143 o al 110 sin STARTTLS. Cámbialo al puerto 993 o 995 con SSL/TLS. - **El inicio de sesión funciona pero el buzón está vacío**: Dovecot y Postfix no coinciden en la ubicación. `postconf home_mailbox` debe devolver `Maildir/` y `doveconf mail_location`, `maildir:~/Maildir`. - **`SASL authentication failure: cannot connect to Dovecot auth server`**: falta el socket o tiene un propietario incorrecto. Revisa `/var/spool/postfix/private/auth` como en el paso 7 y reinicia Dovecot. - **Los clientes avisan sobre el certificado**: el cliente debe usar `mail.your_domain`, el nombre que figura en el certificado, y no la IP ni otro nombre. ## Conclusión Tu servidor ofrece ahora IMAP y POP3 sobre TLS, permite a los usuarios enviar correo autenticado por el puerto 587 y bloquea las direcciones que intentan adivinar contraseñas. Cada cuenta de correo es un usuario de Linux, algo que funciona bien para unas pocas personas. Para alojar varios dominios o buzones que no sean cuentas del sistema, pasa a buzones virtuales entregados por LMTP de Dovecot, y plantéate añadir cuotas y filtros en el servidor con Sieve (`dovecot-sieve`).