// cómo solucionarlo
Cabeceras Date y Message-ID ausentes o incorrectas
Todo email debería llevar una Date correcta y un Message-ID único. Sin ellos, los filtros de spam suman puntos y Gmail puede rechazar el email.
Qué significa
Cada email tiene unas líneas ocultas al principio llamadas cabeceras. Se esperan dos de ellas en todos los mensajes:
- Date: cuándo se escribió el email, con la zona horaria. Ejemplo:
Date: Tue, 14 Oct 2025 09:30:00 +0200 - Message-ID: un identificador único, como un número de serie. Ejemplo:
Message-ID: <7f3a91c2@mail.yourdomain.com>
Los programas de correo normales las añaden automáticamente. Suelen faltar o estar mal cuando los emails los envía un script, un plugin de una web, una impresora o una aplicación antigua que construye el email a mano.
Por qué importa
- SpamAssassin suma puntos por una fecha ausente (
MISSING_DATE), un Message-ID ausente (MISSING_MID) o una fecha muy en el pasado o en el futuro (DATE_IN_PAST_...,DATE_IN_FUTURE_...). - Gmail puede rechazar los emails que no tienen un Message-ID válido, y espera que los mensajes sigan el estándar de formato de email (RFC 5322).
- Los programas de correo usan estas cabeceras para ordenar los mensajes y agrupar las conversaciones.
Cómo comprobarlo
Envía un email desde la herramienta o el script que tiene el problema a tu dirección de prueba de la página de inicio (/). En el informe, la sección SpamAssassin enumera las reglas que han coincidido. También puedes abrir el código fuente original del email en cualquier buzón («Mostrar original» en Gmail) y mirar las primeras líneas.
Cómo solucionarlo
1. Deja que una librería de correo construya el email
La mejor solución es dejar de escribir las cabeceras a mano. Librerías como PHPMailer o Symfony Mailer (PHP), Nodemailer (Node.js) o el módulo email (Python) añaden las dos cabeceras correctamente. En Python, por ejemplo:
from email.utils import formatdate, make_msgid msg["Date"] = formatdate(localtime=True) msg["Message-ID"] = make_msgid(domain="yourdomain.com")
2. Si escribes tú las cabeceras
- Date debe usar el formato exacto
Day, DD Mon YYYY HH:MM:SS +ZZZZen inglés, con el desfase real de la zona horaria. - Message-ID debe ser único para cada email, ir entre
<y>, y contener una@seguida de tu dominio o del nombre de tu servidor. No reutilices nunca el mismo ID. - Usa solo una Date y un Message-ID por email.
3. Corrige el reloj
Una fecha incorrecta suele venir de un servidor con el reloj desajustado o con una zona horaria equivocada. En Linux, activa la sincronización horaria (por ejemplo con timedatectl set-ntp true) y comprueba la zona horaria.
4. Deja que tu servidor de correo añada lo que falta
Algunos servidores pueden añadir una Date o un Message-ID que falten en los mensajes que envían. Postfix, por ejemplo, lo hace para los emails enviados desde el propio servidor, pero no siempre para los que llegan desde otras máquinas. Es una red de seguridad, no un sustituto de corregir la aplicación.
Comprueba que está solucionado
Envía un nuevo email desde la misma herramienta a la dirección de la página de inicio. La sección SpamAssassin ya no debería mostrar MISSING_DATE, MISSING_MID ni reglas de fecha, y la fecha mostrada debería coincidir con la hora real de envío.
Comprueba que está solucionado
Un cambio de DNS puede tardar de unos minutos a unas horas. Después, envía un nuevo email de prueba o vuelve a escanear tu dominio.
Guías relacionadas
- Puntuación de spam de SpamAssassin altaSpamAssassin puntúa el contenido de tu email. Por encima de 5, se considera spam. Descubre qué sube la puntuación y cómo bajarla.
- Requisitos de Gmail y Yahoo para envíos masivosDesde 2024, Gmail y Yahoo exigen a los grandes remitentes autenticar sus emails, ofrecer la baja en un clic y mantener las quejas por spam muy bajas. Aquí tienes la lista de comprobación.
- Tus emails acaban en la carpeta de spam de GmailCuando Gmail envía tus emails a spam, la causa casi siempre es la autenticación, la reputación o el contenido. Así puedes saber cuál es y solucionarlo.
- Rebote de Gmail «550 5.7.26»: email no autenticadoGmail rechazó tu email porque no pudo confirmar que viene de tu dominio. SPF, DKIM o DMARC falta o falla. Así puedes solucionarlo.
- Añade una cabecera List-Unsubscribe (baja en un clic)La cabecera List-Unsubscribe permite a Gmail, Yahoo y Outlook mostrar un botón para darse de baja junto a tu nombre de remitente. Los remitentes masivos deben ofrecerla en un clic.