🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo configurar un servidor de correo en Linux con Postfix y Dovecot (básico)

Actualizado el 31 de marzo de 2026

Antes de Empezar: ¿Qué Necesitas Saber?

Montar tu propio servidor correo linux puede parecer una tarea titánica, pero con la guía adecuada, es totalmente alcanzable. En este tutorial, vamos a desglosar el proceso de configurar postfix y Dovecot desde cero. No necesitas ser un gurú de la terminal, solo paciencia y seguir los pasos al pie de la letra.

¿Por qué querrías hacer esto? Tener tu propio servidor de correo te da control total sobre tus datos, te permite crear direcciones ilimitadas y evitas depender de terceros. Además, es una habilidad muy valorada en el mundo del hosting y la administración de sistemas.

Antes de escribir una sola línea de comando, asegúrate de tener:

  • Un servidor VPS o dedicado con Ubuntu 22.04 o Debian 11 (aunque funciona en otras distros).
  • Acceso root o un usuario con privilegios sudo.
  • Un nombre de dominio (ej. tudominio.com) apuntando al servidor.
  • Registros DNS editables (esto es crucial).

[WARNING] Este tutorial configura un servidor de correo básico. No incluye cifrado TLS avanzado (aunque mencionaremos cómo activarlo), filtros antispam potentes ni webmail. Es la base para que entiendas cómo funciona todo el sistema.


Paso 1: Actualizar el Sistema y Configurar el Hostname

Lo primero es lo primero. Vamos a asegurarnos de que tu sistema esté al día. Conéctate por SSH a tu servidor y ejecuta:

sudo apt update && sudo apt upgrade -y

Una vez actualizado, necesitamos darle un nombre de host (hostname) correcto a tu servidor. Esto es vital porque el correo utiliza el hostname para identificarse.

sudo hostnamectl set-hostname mail.tudominio.com

Edita el archivo /etc/hosts para que el hostname resuelva a tu IP pública:

sudo nano /etc/hosts

Añade una línea al final (reemplaza TU_IP_PUBLICA con la IP real de tu servidor):

TU_IP_PUBLICA mail.tudominio.com mail

[INFO] El hostname mail.tudominio.com no tiene que ser necesariamente el dominio de tu correo. Pero es una convención estándar y facilita la configuración de los registros DNS.


Paso 2: Instalar Postfix y Dovecot

Ahora sí, vamos a instalar las dos piezas clave del puzzle: postfix dovecot. Postfix es el agente de transferencia de correo (MTA) que envía y recibe los correos. Dovecot es el agente de entrega (MDA) que permite a los usuarios leer sus correos a través de IMAP o POP3.

Instala ambos con un solo comando:

sudo apt install postfix dovecot-imapd dovecot-pop3d -y

Durante la instalación de Postfix, te preguntará por el tipo de configuración. Selecciona "Sitio de Internet" (Internet Site).

Luego te pedirá el "Nombre de correo del sistema". Pone tudominio.com (sin el mail. delante).


Paso 3: Configurar Postfix (El Servidor de Envío)

Postfix es el corazón del envío de correo. Vamos a editar su archivo de configuración principal, que se encuentra en /etc/postfix/main.cf.

sudo nano /etc/postfix/main.cf

Busca o añade estas líneas (si ya existen, modifícalas):

myhostname = mail.tudominio.com
mydomain = tudominio.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, $mydomain, localhost.$mydomain, localhost
home_mailbox = mail/
mailbox_command = /usr/lib/dovecot/dovecot-lda -f "$SENDER" -a "$RECIPIENT"

Vamos a explicar qué hace cada línea:

  • myhostname: El nombre de host de tu servidor.
  • mydomain: Tu dominio principal.
  • myorigin: De dónde proviene el correo (se usa para el remitente).
  • inet_interfaces: Escucha en todas las interfaces de red.
  • mydestination: Los dominios para los que este servidor acepta correo.
  • home_mailbox: La carpeta donde se guardarán los correos de cada usuario (dentro de su directorio home).
  • mailbox_command: Le dice a Postfix que use el agente de entrega de Dovecot para guardar los correos.

[TIP] Si no ves la línea mailbox_command, añádela al final del archivo. Esta es la clave para que Postfix y Dovecot trabajen juntos.

Guarda el archivo (Ctrl+O, luego Enter) y sal (Ctrl+X). Ahora reinicia Postfix para aplicar los cambios:

sudo systemctl restart postfix

Paso 4: Configurar Dovecot (El Servidor de Lectura)

Ahora vamos a configurar Dovecot para que los usuarios puedan leer sus correos. Dovecot tiene varios archivos de configuración. Vamos a empezar con el principal.

sudo nano /etc/dovecot/dovecot.conf

Asegúrate de que la línea protocols esté descomentada y tenga los protocolos necesarios:

protocols = imap pop3

Ahora, vamos a configurar la ubicación del correo. Edita el archivo de configuración de correo:

sudo nano /etc/dovecot/conf.d/10-mail.conf

Busca la línea mail_location y descoméntala o añádela:

mail_location = maildir:~/mail

Esto le dice a Dovecot que guarde los correos en formato Maildir dentro de la carpeta mail del directorio home de cada usuario.

[INFO] El formato Maildir guarda cada correo como un archivo individual, lo cual es más robusto y fácil de migrar que el formato mbox.

A continuación, configura el servicio de autenticación. Edita el archivo de autenticación:

sudo nano /etc/dovecot/conf.d/10-auth.conf

Descomenta la línea para permitir la autenticación por texto plano (solo para pruebas, luego deberías usar TLS):

disable_plaintext_auth = yes

Y asegúrate de que la línea auth_mechanisms incluya plain login:

auth_mechanisms = plain login

[WARNING] Si estableces disable_plaintext_auth = yes, necesitarás configurar TLS/SSL para que los clientes de correo puedan conectarse. Para este tutorial básico, lo dejamos en no para que puedas probar sin certificados. Pero en producción, debes activarlo.


Paso 5: Crear Usuarios de Correo

Los usuarios de correo en Linux son simplemente usuarios del sistema. Vamos a crear un usuario llamado admin que será tu primera cuenta de correo.

sudo useradd -m -s /bin/bash admin

Establece una contraseña para este usuario:

sudo passwd admin

[TIP] Puedes crear tantos usuarios como necesites. Cada usuario del sistema con una contraseña será una dirección de correo válida: admin@tudominio.com, info@tudominio.com, etc.


Paso 6: Configurar los Registros DNS (¡El Paso Crítico!)

Aquí es donde la mayoría de la gente se pierde. Sin los registros DNS correctos, tu email server linux no podrá enviar ni recibir correos correctamente. Esto es porque otros servidores de correo no confiarán en ti.

Necesitas crear los siguientes registros en el panel de tu proveedor de dominio:

1. Registro A (o AAAA)

  • Nombre: mail
  • Tipo: A
  • Valor: TU_IP_PUBLICA
  • TTL: 3600

2. Registro MX (Mail Exchange)

  • Nombre: @ (o tu dominio raíz)
  • Tipo: MX
  • Valor: mail.tudominio.com
  • Prioridad: 10
  • TTL: 3600

3. Registro SPF (Sender Policy Framework)

  • Nombre: @
  • Tipo: TXT
  • Valor: "v=spf1 mx a ip4:TU_IP_PUBLICA ~all"
  • TTL: 3600

4. Registro PTR (Reverse DNS) - Opcional pero muy recomendado

Este registro lo configura en tu proveedor de VPS, no en tu dominio. Debe apuntar TU_IP_PUBLICA a mail.tudominio.com. Es crucial para evitar que tus correos caigan en spam.

5. Registro DMARC (Opcional)

  • Nombre: _dmarc
  • Tipo: TXT
  • Valor: "v=DMARC1; p=none; rua=mailto:admin@tudominio.com"
  • TTL: 3600

[INFO] Los registros DNS pueden tardar entre 1 y 48 horas en propagarse por todo el mundo. No te preocupes si no funcionan inmediatamente.


Paso 7: Probar el Servidor de Correo

Después de configurar todo, es hora de probar. Conéctate a tu servidor y envía un correo desde la línea de comandos:

echo "Este es un correo de prueba" | mail -s "Prueba" admin@tudominio.com

Si todo funciona, el correo debería entregarse localmente. Para leerlo, puedes usar el cliente mail:

mail

Verás una lista de correos en la bandeja de entrada. Presiona el número del correo para leerlo.

Para probar el envío a un correo externo (como Gmail), usa:

echo "Hola, este es un test" | mail -s "Test desde tu servidor" tucorreo@gmail.com

[WARNING] Si el correo cae en spam en Gmail, es casi seguro que el registro SPF o el PTR están mal configurados. Revisa tu configuración DNS.


Paso 8: Configurar un Cliente de Correo (Outlook, Thunderbird, etc.)

Ahora que tu servidor funciona, puedes configurar tu cliente de correo favorito. Aquí tienes los parámetros que necesitarás:

  • Servidor entrante (IMAP): mail.tudominio.com
    • Puerto: 143 (sin TLS) o 993 (con TLS)
    • Seguridad: STARTTLS o SSL/TLS
  • Servidor saliente (SMTP): mail.tudominio.com
    • Puerto: 25 (sin TLS) o 587 (con STARTTLS)
    • Seguridad: STARTTLS o SSL/TLS
  • Usuario: admin@tudominio.com
  • Contraseña: La que configuraste para el usuario admin.

[TIP] La mayoría de los clientes de correo tienen una opción de "Configuración automática". Si introduces tu dirección de correo y contraseña, intentarán detectar el servidor automáticamente.


Paso 9: Activar TLS (Cifrado) para Mayor Seguridad

Aunque el tutorial es básico, te recomiendo encarecidamente que actives TLS. Sin cifrado, tus contraseñas y correos viajan en texto plano por Internet, lo cual es un riesgo de seguridad grave.

Primero, instala Certbot para obtener un certificado SSL gratuito de Let's Encrypt:

sudo apt install certbot python3-certbot-apache -y

Obtén el certificado para tu dominio de correo:

sudo certbot certonly --standalone -d mail.tudominio.com

Sigue las instrucciones. Una vez obtenido, edita el archivo de configuración de Dovecot:

sudo nano /etc/dovecot/conf.d/10-ssl.conf

Descomenta y modifica las líneas:

ssl = yes
ssl_cert = </etc/letsencrypt/live/mail.tudominio.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.tudominio.com/privkey.pem

Reinicia Dovecot:

sudo systemctl restart dovecot

Y para Postfix, edita el archivo main.cf y añade al final:

smtpd_tls_cert_file=/etc/letsencrypt/live/mail.tudominio.com/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/mail.tudominio.com/privkey.pem
smtpd_tls_security_level = may
smtp_tls_security_level = may

Reinicia Postfix:

sudo systemctl restart postfix

Solución de Problemas Comunes (FAQ)

¿Por qué mis correos van a spam en Gmail?

Hay varias razones. La más común es que tu registro SPF no esté bien configurado o que no tengas un registro PTR. Asegúrate de que tu servidor no esté en ninguna lista negra (puedes comprobarlo en sitios como mxtoolbox.com).

¿Cómo puedo ver los logs del servidor de correo?

Los logs están en /var/log/mail.log. Puedes verlos en tiempo real con:

sudo tail -f /var/log/mail.log

¿Puedo usar este servidor con Syspanel?

Sí, Syspanel (antes conocido como HestiaCP) es un panel de control que facilita la gestión de servidores. Si usas Syspanel, el puerto de acceso es el 2106. Puedes integrar este servidor de correo manualmente, aunque Syspanel tiene su propio asistente de configuración de correo que puede facilitarte el trabajo.

¿Qué es el puerto 587 y por qué es importante?

El puerto 587 es el puerto estándar para el envío de correo SMTP con autenticación (STARTTLS). Muchos ISP bloquean el puerto 25 para prevenir spam. Asegúrate de que tu firewall permita el puerto 587.

¿Cómo puedo limitar el tamaño de los correos?

Puedes añadir esta línea a /etc/postfix/main.cf:

message_size_limit = 10485760

Esto limita los correos a 10 MB.


Conclusión y Siguientes Pasos

¡Felicidades! Has configurado un servidor correo linux funcional con postfix dovecot. Este es el primer paso para tener un control total sobre tu infraestructura de correo.

Recuerda que esta es una configuración básica. Para un entorno de producción, deberías considerar:

  • Filtros antispam como SpamAssassin.
  • Antivirus como ClamAV.
  • Webmail como Roundcube o RainLoop.
  • Monitoreo y alertas para tu servidor.

Si te surge cualquier duda, no dudes en consultar la documentación oficial de Postfix y Dovecot, o busca en foros especializados. La comunidad de Linux es enorme y siempre hay alguien dispuesto a ayudar.

[TIP] Si te ha gustado este tutorial y quieres profundizar, te recomiendo buscar sobre "DKIM" y "DMARC" para mejorar aún más la entregabilidad de tus correos. Estos son los siguientes pasos lógicos después de dominar lo básico.

¡Ahora ve y disfruta de tu propio servidor de correo!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel