--- title: "Cómo evitar que tus correos lleguen a spam con Postfix" description: "Revisa listas negras, DNS inverso, HELO, SPF, DKIM, DMARC y TLS de tu servidor Postfix en Ubuntu 24.04 para que Gmail y Outlook entreguen tu correo en bandeja." category: "Servidor de Correo" language: es source: https://cubepath.com/es/docs/servidor-de-correo/como-evitar-que-tus-correos-vayan-a-spam updated: 2026-09-25 --- # Cómo evitar que tus correos lleguen a spam con Postfix Cuando un servidor de correo recién montado envía mensajes que acaban en la carpeta de spam, casi nunca es por el texto del mensaje: la causa suele ser técnica y comprobable, como una IP en una lista negra, un DNS inverso que no coincide, un saludo SMTP incorrecto o la falta de SPF, DKIM o DMARC. En este tutorial revisarás y corregirás cada uno de esos puntos en un servidor Postfix con Ubuntu 24.04, medirás el resultado con un correo de prueba y verás cómo mantener la reputación una vez que el correo llegue a la bandeja de entrada. ## Requisitos previos Para seguir esta guía necesitas: - Un servidor con Ubuntu 24.04 LTS y Postfix enviando correo, por ejemplo un VPS de CubePath. - Un usuario no root con privilegios `sudo`. - Un dominio con acceso a su zona DNS y un nombre para el servidor de correo, por ejemplo `mail.your_domain`, con un registro A que apunte a la IP del servidor (`your_server_ip`). - Acceso al panel de tu proveedor para configurar el DNS inverso (PTR) de la IP. - Salida por el puerto 25 abierta. En CubePath, como en la mayoría de proveedores, el puerto 25 de salida está cerrado por defecto y se abre mediante una solicitud al soporte. Sustituye `your_domain`, `mail.your_domain` y `your_server_ip` por tus valores en todos los comandos. ## Paso 1: Medir el punto de partida Antes de cambiar nada, averigua qué ven los receptores. Entra en [mail-tester.com](https://www.mail-tester.com), copia la dirección que te muestra y envíale un correo desde el servidor. Instala primero un cliente de línea de comandos si no lo tienes: ```bash sudo apt install mailutils ``` Envía el mensaje con un asunto y un cuerpo realistas (un correo vacío o con el texto "test" resta puntos por sí mismo): ```bash echo "Hola, este es un mensaje de prueba de configuración del servidor de correo." | mail -s "Prueba de entregabilidad" -a "From: user@your_domain" test-xxxxx@srv1.mail-tester.com ``` Sustituye `test-xxxxx@srv1.mail-tester.com` por la dirección que te ha dado la web. Vuelve a la web y pulsa el botón para ver la puntuación. El informe desglosa los problemas que vas a corregir en los pasos siguientes. Haz también una prueba con una cuenta de Gmail: abre el mensaje, pulsa los tres puntos, elige **Mostrar original** y anota los resultados de SPF, DKIM y DMARC. ## Paso 2: Comprobar que la IP no está en listas negras Si la IP del servidor aparece en una lista negra, nada de lo demás servirá. Las listas DNSBL se consultan con una petición DNS de la IP invertida. Para `203.0.113.10` la consulta a Spamhaus sería: ```bash dig +short 10.113.0.203.zen.spamhaus.org ``` Si no devuelve nada, la IP no está listada. Una respuesta `127.0.0.x` significa que sí lo está. Si obtienes `127.255.255.254`, tu consulta ha pasado por un resolvedor público (como 8.8.8.8), que Spamhaus no atiende: en ese caso usa su web de comprobación, [check.spamhaus.org](https://check.spamhaus.org), o una herramienta que revise varias listas a la vez, como la de MXToolbox. Si la IP está listada: 1. Averigua el motivo en la web de la lista. Si el servidor ha enviado spam (una cuenta comprometida, un formulario web abusado), corrígelo antes de pedir nada: revisa la cola con `mailq` y el registro con `sudo grep "status=sent" /var/log/mail.log | tail -n 50`. 2. Solicita la baja desde la web de la propia lista. La mayoría la tramita en horas si el problema está resuelto. 3. Si es una lista que incluye rangos enteros de proveedores (listas de IP dinámicas o de "reputación de rango"), contacta con el soporte de tu proveedor. ## Paso 3: Alinear nombre de host, HELO y DNS inverso Los receptores comprueban que tres valores coinciden: el nombre que Postfix anuncia en el saludo (HELO/EHLO), el registro A de ese nombre y el registro PTR de la IP. Gmail rechaza directamente los mensajes de IPs sin PTR con el error `550-5.7.25`. Fija el nombre de host del sistema: ```bash sudo hostnamectl set-hostname mail.your_domain ``` Configura Postfix para anunciar ese nombre: ```bash sudo postconf -e 'myhostname = mail.your_domain' sudo systemctl reload postfix ``` A continuación configura el registro PTR de la IP para que apunte a `mail.your_domain`. En CubePath se hace desde el panel, editando el DNS inverso de la dirección IP del servidor. Comprueba los tres valores: ```bash postconf myhostname dig +short A mail.your_domain dig +short -x your_server_ip ``` ```output myhostname = mail.your_domain 203.0.113.10 mail.your_domain. ``` El nombre de `postconf`, el resultado del PTR y el nombre que resuelve a tu IP deben ser el mismo. ### Si el servidor tiene IPv6 Si el servidor tiene una dirección IPv6, Postfix la usará para entregar a Gmail y a otros proveedores que la admiten, y esa IPv6 necesita también su PTR, su registro AAAA y su entrada en SPF. Si no vas a configurarla, indica a Postfix que prefiera IPv4: ```bash sudo postconf -e 'smtp_address_preference = ipv4' sudo systemctl reload postfix ``` ## Paso 4: Publicar SPF, DKIM y DMARC Estos tres registros demuestran que el servidor está autorizado a enviar con tu dominio. Desde 2024, Gmail y Yahoo exigen SPF o DKIM a todos los remitentes, y SPF, DKIM y DMARC a quienes envían grandes volúmenes. Como mínimo, publica un registro TXT en la raíz del dominio con el SPF: ```text v=spf1 ip4:your_server_ip -all ``` Y un registro TXT en `_dmarc.your_domain` con una política inicial de monitorización: ```text v=DMARC1; p=none; rua=mailto:dmarc@your_domain ``` Para DKIM, instala y configura OpenDKIM en el servidor y publica su clave pública en DNS; consulta la guía de DKIM de esta misma sección. La guía de SPF y DMARC explica el despliegue completo hasta `p=reject`. Comprueba que los registros están publicados: ```bash dig +short TXT your_domain dig +short TXT _dmarc.your_domain ``` Después envía un correo a Gmail y confirma en **Mostrar original** que aparecen `SPF: PASS`, `DKIM: 'PASS'` y `DMARC: 'PASS'`. ## Paso 5: Cifrar las conexiones SMTP con TLS Gmail marca con un candado rojo los mensajes recibidos sin cifrar, y algunos filtros penalizan a los remitentes que no usan TLS. Postfix en Ubuntu viene con un certificado autofirmado; sustitúyelo por uno de Let's Encrypt. Instala Certbot: ```bash sudo apt install certbot ``` Solicita el certificado. El modo `--standalone` levanta un servidor web temporal, así que el puerto 80 tiene que estar libre y abierto en el firewall: ```bash sudo ufw allow 80/tcp sudo certbot certonly --standalone -d mail.your_domain --deploy-hook "systemctl reload postfix" ``` El `--deploy-hook` se guarda en la configuración de renovación, de modo que Postfix recargará el certificado cada vez que se renueve. Indica a Postfix dónde está el certificado y activa TLS oportunista en ambos sentidos: ```bash sudo postconf -e 'smtpd_tls_cert_file = /etc/letsencrypt/live/mail.your_domain/fullchain.pem' sudo postconf -e 'smtpd_tls_key_file = /etc/letsencrypt/live/mail.your_domain/privkey.pem' sudo postconf -e 'smtpd_tls_security_level = may' sudo postconf -e 'smtp_tls_security_level = may' sudo systemctl reload postfix ``` Comprueba que el servidor ofrece el certificado correcto: ```bash openssl s_client -starttls smtp -connect mail.your_domain:25 -servername mail.your_domain /dev/null | openssl x509 -noout -subject -enddate ``` ```output subject=CN = mail.your_domain notAfter=Dec 24 10:15:02 2026 GMT ``` Para confirmar que el correo saliente viaja cifrado, envía un mensaje a Gmail y busca en el registro una línea de conexión TLS: ```bash sudo grep "TLS connection established to" /var/log/mail.log | tail -n 3 ``` ## Paso 6: Cuidar el contenido y las listas Con la parte técnica resuelta, el contenido y el comportamiento de los destinatarios pasan a pesar más: - **Envía como una persona o un servicio identificable**: un `From:` con nombre real, un asunto que describa el contenido y una versión en texto plano además del HTML. - **No acortes enlaces** con servicios públicos ni enlaces a dominios con mala reputación. Los enlaces deben apuntar a tu dominio o a dominios conocidos. - **Evita las imágenes sin texto**: un correo que es una sola imagen es un patrón típico de spam. - **En envíos masivos** (newsletters, notificaciones a muchos usuarios), incluye las cabeceras de baja con un clic que exigen Gmail y Yahoo, y procesa las bajas en menos de dos días: ```text List-Unsubscribe: , List-Unsubscribe-Post: List-Unsubscribe=One-Click ``` - **Envía solo a quien lo ha pedido** y elimina de tus listas las direcciones que rebotan. Una tasa de quejas por spam por encima del 0,3 % en Gmail basta para que tus mensajes empiecen a filtrarse. ## Paso 7: Calentar la IP y vigilar la reputación Una IP nueva no tiene reputación. Si empiezas enviando miles de mensajes el primer día, los grandes proveedores la limitarán o la bloquearán. Empieza con volúmenes pequeños a destinatarios que abren tus correos y aumenta el envío de forma gradual durante varias semanas. Registra tu dominio y tu IP en las herramientas de los grandes proveedores para ver cómo te valoran: - **Google Postmaster Tools**: reputación del dominio y de la IP, tasa de spam y resultados de autenticación en Gmail. Tienes que verificar el dominio con un registro TXT. - **Microsoft SNDS**: datos de la IP en Outlook.com y Hotmail, incluidas las trampas de spam en las que caigas. Revisa también el registro de Postfix de vez en cuando en busca de rechazos: ```bash sudo grep -E "status=(bounced|deferred)" /var/log/mail.log | tail -n 20 ``` Cuando hayas aplicado todos los pasos, repite la prueba del paso 1. Una puntuación de 9/10 o más en mail-tester indica que la parte técnica está bien. ## Solución de problemas **Gmail rechaza con `550-5.7.25`**: la IP desde la que envías no tiene PTR. Si el servidor tiene IPv6, comprueba cuál se ha usado en el registro y configura su PTR o aplica `smtp_address_preference = ipv4`. **Gmail rechaza con `550-5.7.26` o `550-5.7.27`**: el mensaje no pasa la autenticación (SPF, DKIM o DMARC). Revisa **Mostrar original** en un mensaje que sí haya llegado y corrige el mecanismo que falle. **Outlook rechaza con `550 5.7.1` y el código `S3150`**: la IP está en la lista de bloqueo de Microsoft. Solicita la baja en el portal de remitentes de Microsoft (sender.office.com) después de revisar SNDS. **Los mensajes salen en `status=deferred` con `Connection timed out` hacia el puerto 25**: la salida por el puerto 25 está bloqueada. Compruébalo con `nc -vz gmail-smtp-in.l.google.com 25` y, si no conecta, solicita la apertura a tu proveedor. **Todo pasa pero Gmail sigue enviando a spam**: la IP o el dominio son nuevos o tienen reputación baja. Revisa Postmaster Tools, reduce el volumen, pide a algunos destinatarios que marquen el correo como "No es spam" y sigue enviando correo que la gente abra. ## Conclusión Has comprobado que la IP no está en listas negras, has alineado nombre de host, HELO y DNS inverso, has publicado SPF, DKIM y DMARC, has cifrado las conexiones con un certificado de Let's Encrypt y has medido el resultado con correos de prueba. Con esa base técnica, la entregabilidad pasa a depender de enviar correo que los destinatarios quieren recibir. Como siguientes pasos puedes: - Endurecer tu política DMARC hasta `p=reject` a partir de los informes agregados. - Instalar SpamAssassin para filtrar también el correo entrante. - Automatizar una alerta que revise a diario si tu IP aparece en las listas negras principales.