En algún punto entre tu ESP y la bandeja de entrada, un filtro acaba de calificar tu email con un número. Si ese número viene de SpamAssassin y llegó a 5,0, tu mensaje está ahora mismo en la carpeta de spam. Cada test de spam de Unspam pasa tu email por SpamAssassin, entre otras comprobaciones, y los datos tranquilizan: el 89% de los mensajes analizados puntúa en el rango seguro de 0 a 3,0. El 11% restante normalmente no tiene ni idea de qué regla le pasó factura.
Esta guía descifra la puntuación como es debido: de qué está hecho el número, las reglas reales con sus valores reales, dónde decide de verdad tu suerte (y dónde la ignora Gmail sin decir nada) y las soluciones que hacen bajar una puntuación alta.
¿Qué es SpamAssassin?
Apache SpamAssassin es el filtro antispam de código abierto más extendido. No es software abandonado, digan lo que digan los números de versión de las guías más viejas: la versión actual es la 4.0.2 (agosto de 2025), la línea 4.0 trajo soporte completo de Unicode para el correo internacional y un plugin de DMARC dedicado, y el proyecto publica reglas actualizadas de forma continua a través de su canal sa-update.
Te encuentras con SpamAssassin en más sitios de los que imaginas:
- Hosting compartido. La función "Spam Filters" de cPanel funciona, en palabras de la propia cPanel, con Apache SpamAssassin, con un umbral por defecto de 5. Eso cubre millones de buzones de pequeñas empresas.
- Correo corporativo y autoalojado. SpamAssassin se ejecuta dentro de pasarelas construidas sobre Exim, Postfix, MailScanner, MIMEDefang y Amavis.
- Cadenas de pruebas. Al ser abierto y determinista, es el motor de puntuación estándar en las herramientas de test previas al envío, incluida la comprobación de SpamAssassin dentro de la auditoría de entregabilidad de Unspam.
Una advertencia honesta que las guías rancias de la competencia se saltan: Gmail, Outlook y Yahoo no usan SpamAssassin. Google filtra con sus propios modelos de aprendizaje automático (clasificadores de TensorFlow y, más tarde, el modelo RETVec), y Microsoft describe su filtrado como propietario. Tu puntuación de SpamAssassin importa directamente en el mundo de cPanel y las pasarelas, y como indicador aproximado de las señales de contenido que sopesan los modelos de los grandes proveedores de correo. Una puntuación limpia no te garantiza la bandeja de entrada de Gmail; una puntuación que falla predice de forma fiable problemas en todas partes.
Cómo funciona la puntuación en realidad
Mecánicamente, una puntuación de SpamAssassin es una suma. El filtro pasa el mensaje por cientos de tests, cada regla que coincide aporta su valor en puntos (positivo o negativo) y el total se compara con un umbral llamado required_score:
- Umbral por defecto: 5,0. Un mensaje que puntúa igual o por encima de 5,0 se marca como spam; 4,9 pasa, 5,0 falla.
- El umbral es configurable. La documentación oficial califica el 5,0 de "bastante agresivo", adecuado para un solo usuario, y sugiere que los ISP fijen un 8,0 o un 10,0, más conservadores. Los hostings también pueden ser más estrictos, y por eso un 4,5 no es un sitio cómodo donde vivir.
- La misma regla puede puntuar distinto según la configuración. Cada regla lleva hasta cuatro valores en puntos, elegidos según si el motor Bayes y los tests de red están activados en ese servidor. Los valores de abajo son para una configuración completa (Bayes más tests de red), que es la que ejecutan la mayoría de los filtros en producción y el test de Unspam.
- Las puntuaciones se mueven un poco con el tiempo. Los servidores en producción se descargan reglas repuntuadas vía sa-update, así que trata cualquier número publicado como el valor por defecto que se distribuye, no como una constante de la naturaleza.
Así es como se ve una puntuación real cuando se suma:

El daño lo hicieron tres reglas; las dos autenticaciones superadas apenas influyeron. Esa asimetría es lo más útil que puedes entender sobre SpamAssassin.
Superar la autenticación te da un error de redondeo. No superar las comprobaciones de contenido te cuesta puntos enteros. La autenticación es un mínimo, no una bonificación.
Las reglas, descifradas con valores reales
Estas son las puntuaciones por defecto reales del conjunto de reglas oficial (valores para una configuración completa con Bayes y tests de red):
| Regla | Qué significa | Puntos |
|---|---|---|
BAYES_99 | Motor Bayes: probabilidad de spam del 99 al 100% | +3,5 |
BAYES_999 | Bayes: del 99,9 al 100%, apilado encima de BAYES_99 | +0,2 |
RCVD_IN_PBL | La IP de envío está en la PBL de Spamhaus (no debería enviar correo directamente) | +3,335 |
URIBL_BLACK | Un enlace del cuerpo está en la lista negra URIBL | +1,7 |
HTML_IMAGE_ONLY_24 | HTML cargado de imágenes y casi sin texto | +1,618 |
PYZOR_CHECK | El cuerpo coincide con una huella de spam conocida (Pyzor) | +1,392 |
MISSING_DATE | El mensaje no tiene cabecera Date | +1,36 |
DCC_CHECK | Marcado como envío masivo por la red DCC | +1,1 |
MISSING_HEADERS | Faltan cabeceras básicas como To | +1,021 |
RAZOR2_CHECK | El cuerpo coincide con una huella de spam conocida (Razor) | +0,922 |
DKIM_VALID | El mensaje lleva una firma DKIM válida | -0,1 |
SPF_PASS | La comprobación SPF se superó | -0,001 |
BAYES_00 | Motor Bayes: probabilidad de spam del 0 al 1% | -1,9 |
GTUBE | La cadena de prueba estándar para verificar que un filtro funciona | +1000 |
Patrones que merece la pena notar:
- Bayes domina. Un solo impacto de BAYES_99 son 3,5 puntos, el 70% del camino hasta el umbral de spam por sí solo.
- Las reglas de reputación pegan fuerte. Una aparición en la PBL de Spamhaus (+3,335) más un enlace en lista negra (+1,7) ya es una puntuación que falla.
- La fontanería rota sale cara. Que falten las cabeceras Date o To suele significar un script de envío casero; esas ausencias suman puntos porque el mensaje parece generado por una máquina, antes de que una persona lea una sola palabra.
- Las reglas negativas existen. El correo claramente legítimo puede puntuar por debajo de cero. Una puntuación negativa no es un error; es un cumplido.
El motor Bayes, y por qué "evita la palabra gratis" es un consejo caducado
Las reglas BAYES vienen de un clasificador probabilístico entrenado (la documentación de SpamAssassin lo describe como de estilo bayesiano, con un combinador de chi cuadrado). Puntúa el mensaje entero de forma estadística contra lo que ha aprendido del spam real y del correo legítimo real, y se adapta a medida que quien administra lo entrena con sa-learn.
Por eso el clásico consejo de listículo sobre prohibir palabras sueltas no da en el clavo. Ninguna palabra suelta lleva una penalización fija; el motor juzga el mensaje entero en su contexto. Una newsletter de cardiología puede decir "medicación para el corazón" sin problema, mientras que un mensaje que reúne la huella estadística completa del spam (oferta insistente, cuerpo solo de imágenes, enlaces cargados de tracking, sin parte en texto plano) se lleva un BAYES_99 aunque evite todas las palabras gatillo famosas. Las palabras gatillo siguen importando como señal débil y como señal de alarma para una persona, y por eso mantenemos una guía de palabras que activan el spam y un comprobador de palabras spam gratuito, pero el motor que hay detrás de la puntuación juzga patrones, no vocabulario.
Tests de red: los puntos que te ganas antes de escribir una palabra
Con los tests de red activados, SpamAssassin le pregunta a Internet por ti:
- Listas negras de DNS. La IP de envío se comprueba contra Spamhaus Zen (sus componentes SBL, CSS, XBL y PBL llevan cada uno su propia regla y sus puntos) y SpamCop, entre otras.
- Listas negras de URI. Cada dominio al que enlazas se comprueba contra listas como URIBL y Spamhaus DBL. Heredas la reputación de cada enlace de tu pie de página.
- Huellas difusas. Razor, Pyzor y DCC comparan el cuerpo de tu mensaje con bases de datos colaborativas de spam en circulación. El contenido enviado en masa que otros denunciaron suma puntos, por bien que esté escrito.
La consecuencia práctica: parte de tu puntuación de SpamAssassin la deciden tu infraestructura y la higiene de tu lista, no tu texto. Comprueba tu IP y tu dominio de envío antes de culpar al contenido: el comprobador de listas negras de IP y el comprobador de listas negras de dominios gratuitos cubren las mismas zonas que aquí cuestan puntos.
Cómo leer tu puntuación: la cabecera X-Spam-Status
En cualquier servidor que ejecute SpamAssassin, el veredicto queda escrito en las cabeceras del mensaje, y aprender a leerlo convierte una puntuación misteriosa en una lista de tareas:

X-Spam-Statusempieza con el veredicto (Yes o No), luegoscore=(la suma),required=(el umbral de ese servidor) ytests=(todas las reglas que saltaron, que es la parte sobre la que de verdad actúas).X-Spam-Leveldibuja la puntuación como una fila de asteriscos, uno por punto entero, para que las reglas de filtrado puedan actuar según la gravedad.X-Spam-Checker-Versionte dice qué versión de SpamAssassin y qué conjunto de reglas te juzgaron.
Si la lista tests= nombra las reglas, y la tabla de arriba te dice lo que cuesta cada una, puedes reconstruir exactamente por qué falló un mensaje. Eso es precisamente lo que la sección de SpamAssassin de un informe de entregabilidad de Unspam hace por ti de forma automática.
¿Qué es una buena puntuación de SpamAssassin?
Las bandas son simples, y vale la pena memorizarlas junto a los otros umbrales de entregabilidad:

- Por debajo de 3,0: seguro. Margen cómodo por debajo de cualquier umbral sensato. Es la banda que ya alcanza el 89% de los emails analizados con Unspam, así que es un objetivo realista, no perfeccionismo.
- De 3,0 a 4,9: pasa, pero expuesto. A un impacto de Bayes o a una nueva aparición en lista negra de fallar, y ya fallando en los hostings que endurecieron el valor por defecto.
- 5,0 y por encima: marcado como spam en una instalación estándar. Con puntuaciones de dos cifras, algunas configuraciones descartan el mensaje sin avisar en lugar de entregarlo en la carpeta de spam (las recomendaciones oficiales reservan el borrado automático para 15,0 en adelante).
Una nota sobre la dirección, porque las guías que lo mezclan causan confusión de verdad: en SpamAssassin, cuanto más bajo, mejor. Si una herramienta de test te muestra una puntuación sobre 100 donde lo alto es mejor, eso es una puntuación de entregabilidad compuesta, otra cosa muy distinta que tratamos en qué es un spam score.
Cómo comprobar tu puntuación de SpamAssassin
Tres formas, de la más rápida a la más manual:
- Haz un test de spam antes del envío. El test de spam gratuito de Unspam puntúa tu mensaje exacto con SpamAssassin y lista todas las reglas que saltaron junto a las comprobaciones de SPF, DKIM, DMARC, listas negras y HTML, en unos 30 segundos y sin registro.
- Lee una copia recibida. Si el mensaje ya pasó por un servidor que ejecuta SpamAssassin, el veredicto está en la cabecera
X-Spam-Statusdescrita arriba. Reenvíate una copia desde el buzón afectado y lee la listatests=. - Ejecuta SpamAssassin tú mismo. En tu propio servidor, pásale un mensaje en bruto:
spamassassin -t < message.emlimprime la puntuación y un informe regla a regla. Mantén las reglas al día consa-update, entrena el motor Bayes consa-learn --spamysa-learn --ham, y verifica que la cadena funciona enviando la cadena de prueba GTUBE, diseñada para puntuar 1000 puntos y caer en spam siempre.
La primera opción es la única que califica tu mensaje antes de que tu lista lo vea, que es de lo que se trata: una puntuación de la que te enteras por un informe de rebotes es una puntuación de la que te enteraste demasiado tarde.
Cómo bajar una puntuación alta de SpamAssassin
Recorre esta lista en orden; está ordenada por puntos recuperados por hora de esfuerzo.
- Arregla lo que las reglas nombran literalmente. Lee la lista
tests=de tu informe. MISSING_DATE y MISSING_HEADERS significan que tu script de envío o la configuración de tu ESP está emitiendo correo mal formado: arregla la fontanería y esos puntos desaparecen del todo. - Limpia tus reglas de reputación. Si saltaron reglas RCVD_IN_ o URIBL_, ninguna corrección del texto te salvará. Saca primero la IP o el dominio de las listas (nuestra guía para salir de listas negras cubre las principales) y audita cada dominio enlazado, incluidos los acortadores y los dominios de tracking que no controlas.
- Autentícalo todo, y luego deja de esperar reconocimiento por ello. Publica y alinea SPF, DKIM y DMARC (la guía completa paso a paso); verifícalo con los comprobadores de SPF, DKIM y DMARC. Esto elimina reglas de penalización y satisface al plugin de DMARC de SpamAssassin 4.0, pero recuerda la asimetría: te da fracciones, te evita puntos enteros.
- Reequilibra el contenido. Envía siempre una parte en texto plano junto al HTML, mantén una proporción real de texto e imagen (las reglas HTML_IMAGE_ONLY existen porque el correo solo de imágenes es una evasión clásica del spam) y elimina los patrones que hacen saltar las alarmas de los filtros.
- Respeta el motor Bayes. No puedes engañar a un clasificador estadístico con sinónimos. Envía contenido con el que la gente interactúe de verdad, a gente que lo pidió, y las reglas de Bayes se vuelven tus aliadas: BAYES_00 te devuelve 1,9 puntos.
- Haz un test antes de cada envío. Las puntuaciones cambian con las actualizaciones de reglas y el estado de las listas, así que un mensaje que pasó el trimestre pasado puede fallar hoy. Un test de spam previo al envío lo detecta mientras arreglarlo todavía sale gratis.
Comprueba tu puntuación ahora
No tienes por qué adivinar en qué banda estás. Pasa tu email por el test de spam gratuito de Unspam: puntúa el mensaje exacto con SpamAssassin, muestra cada regla que saltó con su valor en puntos y ejecuta al lado las comprobaciones de SPF, DKIM, DMARC, listas negras y contenido, en unos 30 segundos y sin registro. Si estás en el 89%, lo sabrás. Si estás en el 11%, por fin sabrás por qué.