Para configurar un servidor de correo en un VPS necesitas instalar un agente de transferencia de mensajes (MTA) como Postfix para el envío, un servidor IMAP como Dovecot para la recepción, y los registros DNS correctos para que otros servidores confíen en tu dominio. El proceso toma entre 60 y 90 minutos la primera vez.
Esta guía cubre exactamente esos pasos en Ubuntu/Debian, con las decisiones explicadas para que entiendas qué estás haciendo y puedas adaptarla a tu caso.
Antes de empezar: requisitos y advertencias
Alojar tu propio servidor de correo te da control total, pero también toda la responsabilidad de entregabilidad, reputación y mantenimiento. Considera estos puntos antes de continuar:
- IP limpia — verifica que la IP de tu VPS no esté en listas negras en MXToolbox. Muchos proveedores asignan IPs con historial de spam.
- Puerto 25 desbloqueado — algunos proveedores bloquean el puerto 25 por defecto. Contacta soporte para habilitarlo antes de instalar nada.
- PTR (rDNS) — el registro de DNS inverso de tu IP debe resolver al hostname de tu servidor. Configúralo en el panel de tu proveedor VPS.
- Dominio propio — necesitas acceso al panel DNS de tu dominio para crear los registros MX, SPF, DKIM y DMARC.
Instalar Postfix y Dovecot
Actualiza el sistema e instala los paquetes principales:
apt update && apt upgrade -y
apt install -y postfix dovecot-core dovecot-imapd dovecot-pop3d \
mailutils certbot
Durante la instalación de Postfix, el asistente te preguntará el tipo de configuración. Elige Internet Site e ingresa tu nombre de dominio (por ejemplo: tudominio.com).
Configurar el hostname del servidor
El hostname del servidor debe coincidir con el registro MX que crearás después:
hostnamectl set-hostname mail.tudominio.com
Asegúrate de que /etc/hosts incluya esa resolución local:
127.0.0.1 localhost
TU_IP_VPS mail.tudominio.com mail
Configurar los registros DNS
Este es el paso que más afecta la entregabilidad. Agrega estos registros en el panel DNS de tu dominio:
| Tipo | Nombre | Valor | Propósito |
|---|---|---|---|
| A | IP de tu VPS | Apunta el subdominio mail a tu servidor | |
| MX | @ | mail.tudominio.com (prioridad 10) | Indica qué servidor recibe el correo del dominio |
| TXT | @ | v=spf1 mx ~all | SPF — autoriza tu servidor a enviar en nombre del dominio |
| TXT | _dmarc | v=DMARC1; p=quarantine; rua=mailto:[email protected] | DMARC — política ante correos no autorizados |
El registro DKIM lo generarás después de instalar el firmador; por eso no aparece en la tabla todavía.
Configurar Postfix para envío y recepción
Edita el archivo principal de Postfix:
nano /etc/postfix/main.cf
Reemplaza o ajusta las líneas clave:
myhostname = mail.tudominio.com
mydomain = tudominio.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/
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_use_tls = yes
smtpd_tls_security_level = may
smtp_tls_security_level = may
Antes de reiniciar Postfix, obtén un certificado TLS con Certbot:
certbot certonly --standalone -d mail.tudominio.com
Luego reinicia el servicio:
systemctl restart postfix
Configurar Dovecot para recepción IMAP
Dovecot gestiona las conexiones IMAP de tus clientes de correo (Outlook, Thunderbird, etc.). Edita la configuración de autenticación:
nano /etc/dovecot/conf.d/10-auth.conf
Asegúrate de que estas líneas estén así:
disable_plaintext_auth = yes
auth_mechanisms = plain login
Luego configura la ruta del mailbox para que coincida con Postfix:
nano /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir
Apunta Dovecot al certificado TLS:
nano /etc/dovecot/conf.d/10-ssl.conf
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.tudominio.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.tudominio.com/privkey.pem
Reinicia Dovecot:
systemctl restart dovecot
Crear cuentas de correo y probar el envío
En un servidor de correo básico basado en usuarios del sistema, cada cuenta de Linux con contraseña válida puede recibir correo. Crea un usuario:
adduser juan
Para probar el envío desde la línea de comandos:
echo "Prueba de correo" | mail -s "Test" [email protected]
Revisa el log para confirmar que salió sin errores:
tail -f /var/log/mail.log
Para verificar la recepción, configura un cliente IMAP con estos datos:
- Servidor IMAP:
mail.tudominio.com, puerto 993, SSL/TLS - Servidor SMTP:
mail.tudominio.com, puerto 587, STARTTLS - Usuario: el nombre del usuario Linux (por ejemplo,
juan) - Contraseña: la contraseña del usuario Linux
Si quieres más contexto sobre las opciones de VPS disponibles en México y cómo elegir el plan adecuado para alojar servicios como este, consulta nuestra guía completa de servidores VPS.
Para proyectos más avanzados o si prefieres delegar la administración, en elenlace.com ofrecemos VPS administrados con soporte técnico especializado para configuraciones de correo y más.
Conclusiones clave
- Postfix gestiona el envío (MTA) y Dovecot la recepción IMAP; ambos son necesarios.
- Los registros DNS (MX, SPF, DKIM, DMARC) son tan importantes como el software; sin ellos tus correos irán a spam.
- Verifica que el puerto 25 esté abierto y que la IP de tu VPS no esté en listas negras antes de instalar nada.
- El certificado TLS (Let's Encrypt) es obligatorio para que los clientes de correo acepten la conexión.
- Los usuarios Linux con contraseña válida sirven como cuentas de correo en una configuración básica.
Preguntas frecuentes
¿Es complicado mantener un servidor de correo propio?
Más que instalar un sitio web, sí. Debes gestionar la reputación de tu IP, renovar certificados, actualizar el software y monitorear logs. Para una empresa con muchas cuentas o alto volumen de correo, a veces es más práctico usar un servicio gestionado como Google Workspace o Zoho Mail en combinación con el VPS para el sitio web.
¿Por qué mis correos llegan a la carpeta de spam?
Las causas más comunes son: IP en lista negra, falta de registro SPF o DKIM, rDNS no configurado, o hostname del servidor inconsistente. Verifica todos estos puntos en MXToolbox antes de concluir que hay otro problema.
¿Qué diferencia hay entre Postfix y Exim?
Ambos son MTA robustos. Postfix es más común en servidores Ubuntu/Debian nuevos y tiene una configuración modular más clara. Exim es el MTA por defecto en cPanel/WHM. Si no tienes preferencia previa, Postfix es la elección más documentada y soportada en 2025.
¿Necesito abrir puertos en el firewall?
Sí. Abre los puertos 25 (SMTP entre servidores), 587 (SMTP de cliente autenticado), 993 (IMAPS) y 465 (SMTPS) en tu firewall. Con UFW: ufw allow 25,587,993,465/tcp. El puerto 25 también debe estar habilitado por tu proveedor VPS.
¿Prefieres que lo hagamos por ti? En El Enlace resolvemos hosting y desarrollo web profesional.
Para saber más
Otros proveedores y guías que vale la pena comparar: