UA-51298262-10 Skip to main content
Correo

Configurar servidor SMTP Postfix en VPS: guía completa

By noviembre 3, 2026No Comments
Configurar servidor SMTP Postfix en VPS: guía completa

Montar tu propio servidor SMTP con Postfix en un VPS sigue siendo la opción más fiable (y barata) para enviar correo desde tus aplicaciones web. Sobre todo si tienes WordPress, formularios de contacto o notificaciones propias que dependen de que el correo llegue de verdad. Aquí va la guía completa: cómo instalar Postfix en Ubuntu o Debian, qué registros DNS necesitas y qué toca ajustar en el archivo main.cf para que tus mensajes lleguen a bandeja de entrada y no a la carpeta de spam. Y si en algún punto prefieres delegar, en RedServicio (redservicio.net) hay ayuda profesional para servidores y correo.

Requisitos previos: VPS, dominio y registros DNS (MX, SPF, DKIM)

Antes de instalar nada, repasa esta lista. Lo he visto más veces de las que me gustaría: un Postfix impecablemente configurado que termina en spam porque el DNS estaba mal preparado. La reputación de tu servidor se juega ahí, antes de tocar una sola línea de configuración.

Requisitos del VPS

  • IP pública dedicada: nada de VPS con IP compartida o que ya esté en listas negras. Pasa tu IP por MXToolbox antes de empezar; te ahorras sorpresas.
  • Puerto 25 abierto: ojo con esto. Muchos proveedores (DigitalOcean, Hetzner, AWS) lo bloquean por defecto a clientes nuevos. Tendrás que solicitar la apertura o revisar su documentación.
  • Reverse DNS (PTR): configura un registro PTR que apunte tu IP a tu dominio de correo, por ejemplo mail.tudominio.com. Sin PTR, la mayoría de los servidores receptores rechazarán tus mensajes sin más.
  • Hostname correcto: comprueba con hostname -f que el nombre completo del servidor coincide con el registro PTR. Que coincidan, exactamente.

Registros DNS necesarios

  1. Registro A: mail.tudominio.com debe resolver a la IP pública de tu VPS.
  2. Registro MX: apunta tudominio.com a mail.tudominio.com con prioridad 10.
  3. SPF: añade un registro TXT como v=spf1 mx a ip4:1.2.3.4 -all, que declara qué servidores pueden enviar correo en nombre de tu dominio.
  4. DKIM: genera las claves con OpenDKIM y publica la clave pública como registro TXT. DKIM firma cada mensaje y demuestra que no ha sido alterado en el camino.
  5. DMARC: opcional, pero muy recomendado. Algo como v=DMARC1; p=quarantine; rua=mailto:dmarc@tudominio.com.

Consejo: los cambios DNS pueden tardar hasta 24-48 horas en propagarse. No te lances a instalar nada todavía; verifica primero con dig MX tudominio.com y dig TXT tudominio.com.

Instalación de Postfix en el VPS paso a paso

En Debian o Ubuntu esto es rápido. Primero actualiza el sistema y luego instala Postfix con las utilidades de correo.

Conéctate por SSH a tu VPS y ejecuta:

  • sudo apt update && sudo apt upgrade -y
  • sudo apt install postfix mailutils -y

A mitad de la instalación aparece un asistente. Elige «Sitio de Internet» (Internet Site) y escribe tu dominio de correo, por ejemplo tudominio.com, en el campo «System mail name». Con esta elección Postfix queda listo para enviar y recibir correo directamente, sin depender de un relay externo.

Instalado. Ahora toca comprobar que el servicio está vivo.

Ejecuta sudo systemctl status postfix y fíjate en que dice «active (running)». Para confirmar que el servidor escucha en el puerto 25, usa ss -tlnp | grep 25. ¿No aparece nada? Revisa la configuración de red o el firewall del VPS (por ejemplo, con sudo ufw allow 25/tcp).

Si tu VPS usa systemd, habilita el arranque automático con sudo systemctl enable postfix. Con esto ya tienes el servidor SMTP Postfix operativo en su configuración básica. Que funciona, sí. Pero todavía no lo pondría en producción: faltan varios parámetros por ajustar.

Configurar servidor SMTP Postfix: main.cf y parámetros clave

La configuración principal vive en /etc/postfix/main.cf. Haz copia de seguridad antes de editar: sudo cp /etc/postfix/main.cf /etc/postfix/main.cf.bak. Créeme, lo agradecerás. Estos son los parámetros que más importan:

  • myhostname: debe coincidir con tu registro PTR, por ejemplo myhostname = mail.tudominio.com. Es de lo que más pesa en la reputación de tu servidor.
  • mydestination: define los dominios que este servidor acepta localmente, por ejemplo $myhostname, tudominio.com, localhost.localdomain, localhost.
  • mynetworks: restringe qué redes pueden enviar correo sin autenticación. Lo más seguro es limitarlo a 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128.
  • inet_interfaces: usa all si el servidor debe recibir correo de Internet, o loopback-only si solo enviará correo local.
  • smtpd_tls_security_level: configúralo como may (o encrypt si ya tienes certificado TLS) para cifrar las comunicaciones SMTP.
  • message_size_limit: limita el tamaño máximo de los mensajes, por ejemplo 10240000 para 10 MB. Evita abusos.

Importante: jamás dejes mynetworks abierto a toda Internet. Un Postfix mal protegido se convierte en un relay abierto, y un relay abierto acaba en listas negras en cuestión de horas. No es exageración.

Tras cada cambio en main.cf, recarga con sudo systemctl reload postfix y echa un ojo al log en /var/log/mail.log para cazar errores de sintaxis o problemas de entrega. Con estos parámetros afinados, el servidor queda listo para el siguiente paso: la autenticación segura y el envío de correo de prueba.

Seguridad: TLS, SASL y protección contra open relay

Un Postfix expuesto a Internet sin proteger no dura ni un día limpio. Los spammers lo encontrarán, y rápido, cuestión de horas en el peor de los casos. Así que lo primero: TLS con certificados de Let’s Encrypt. Si ya tienes certbot y un certificado para tu dominio, añade esto a main.cf:

  1. smtpd_tls_cert_file = /etc/letsencrypt/live/tudominio.com/fullchain.pem
  2. smtpd_tls_key_file = /etc/letsencrypt/live/tudominio.com/privkey.pem
  3. smtpd_tls_security_level = may
  4. smtp_tls_security_level = may
  5. smtpd_tls_protocols = >=TLSv1.2

Después toca la autenticación SASL. Hay varias formas de montarla, pero para un VPS Dovecot es la más sencilla y también la más sólida. Instala con sudo apt install dovecot-common y añade en main.cf:

  • smtpd_sasl_type = dovecot
  • smtpd_sasl_path = private/auth
  • smtpd_sasl_auth_enable = yes
  • smtpd_sasl_security_options = noanonymous
  • broken_sasl_auth_clients = yes

Y luego la regla que de verdad importa: cerrar el open relay. Si tu servidor reenvía correo de cualquiera a cualquiera, en pocos días estarás en listas negras y todo lo anterior habrá servido de poco. En main.cf, la directiva smtpd_recipient_restrictions debe limitar el envío a clientes autenticados o a redes de confianza:

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Esa última parte, reject_unauth_destination, es tu barrera principal. Rechaza cualquier correo cuyo destinatario no sea de tus dominios si no viene de un usuario autenticado. ¿Cómo saber si estás en alguna lista abierta? Tras cada cambio de configuración, pásate por MXToolbox y compruébalo. Mejor prevenir.

Consejo: fuerza SASL solo sobre TLS añadiendo smtpd_tls_auth_only = yes. Sin esa línea, las credenciales pueden viajar en texto plano por la red. No es un detalle menor.

Probar y verificar el envío de correos desde el VPS

Servidor configurado y asegurado. Ahora, ¿funciona de verdad? La prueba más rápida sale de la propia consola con la utilidad mail (instálala con sudo apt install mailutils):

echo «Cuerpo del mensaje de prueba» | mail -s «Prueba Postfix» tucorreo@dominio.com

Justo tras el envío, abre los registros en vivo con tail -f /var/log/mail.log. Lo que buscas son líneas con status=sent (entrega correcta) o status=deferred / status=bounced (ahí hay algo que investigar).

Si quieres ir más a fondo, conecta a mano al puerto 587 con openssl s_client -starttls smtp -connect mail.tudominio.com:587. Con esto verificas dos cosas a la vez: que el certificado TLS es válido y que el servidor anuncia AUTH LOGIN después del STARTTLS. Si aparece, la autenticación funciona.

¿Los correos llegan a Gmail o Outlook pero caen en spam? Es frecuente al principio. Los pasos habituales: confirma que el registro SPF incluye la IP del VPS, publica el registro DKIM que generó OpenDKIM, añade el DMARC correspondiente y, si tu IP estaba en listas negras, solicita la revisión de reputación. Ten paciencia, porque la entrega tarda en consolidarse; durante los primeros días es normal un filtrado alto hasta que Gmail y los demás proveedores empiezan a confiar en tu dominio.

El correo se queda en cola, ¿qué reviso? Ejecuta mailq: verás los mensajes pendientes y la razón del rechazo. Casi siempre apunta a DNS mal resueltos o al puerto 25 bloqueado por el proveedor (algo muy común en los VPS comerciales).

Conclusión: un servidor SMTP Postfix listo para producción

Montar un SMTP Postfix en un VPS es un proceso por capas: instalar el servicio, configurar dominios y redes, cifrar con TLS, autenticar con SASL y blindar el servidor contra el open relay. Si has llegado hasta aquí siguiendo la guía, ya tienes algo capaz de enviar correo de forma segura y autenticada, con buenas probabilidades de entrar en bandeja de entrada… siempre que tus registros SPF, DKIM y DMARC estén bien publicados. Ese condicional importa.

Y no, el trabajo no termina con la configuración inicial. Los logs de correo hay que revisarlos de vez en cuando, Postfix y Dovecot mantenerse actualizados, y la reputación de tu IP vigilarla a medida que crece el volumen de envío. Un servidor sin monitoreo acaba en una lista negra tarde o temprano; es casi una ley.

Si en algún punto te atascas —un error de entrega, un certificado que no coopera, una configuración que simplemente no responde—, en RedServicio (redservicio.net) encontrarás ayuda profesional especializada en administración de servidores, WordPress y correo electrónico para resolver la incidencia de forma rápida y garantizada.