Email Spam Tester Ejecutar una prueba · Para agentes · API

Cómo funciona la prueba

Envía un mensaje a una dirección desechable y se ejecutarán 39 comprobaciones. Esta página las contiene todas: qué examina cada una, cuánto resta a tu puntuación cuando falla y de qué sección del estándar procede.

Nada de lo que aparece aquí es nuestra opinión presentada como una regla. Cuando una comprobación exige algo que establece un estándar, la frase de ese estándar se cita debajo. Cuando exige algo que Google o Yahoo requieren, se enlaza su página. Cuando se basa en nuestro propio criterio, se indica.

Autenticación

Si el servidor receptor puede demostrar que el mensaje procede de donde afirma. Esta es la mitad de la entregabilidad que depende exclusivamente de DNS y la mitad que Gmail y Yahoo hicieron obligatoria para los remitentes masivos en 2024.

Cadena ARC auth.arc

ARC conserva el resultado de autenticación a través de un reenviador. Sin ARC, una lista de correo que añade un pie de página rompe tu firma DKIM y la copia reenviada falla DMARC en el destino final.

Si falla: No tienes que hacer nada como remitente. Esto es importante si gestionas una lista o un reenviador, y explica por qué algunos de tus correos fallan DMARC después de que alguien los reenvía.

Cuesta hasta 2 puntos de 100 en nuestra puntuación.

RFC 7960 §1 — Introduction

DMARC with restrictive policies causes problems for many Mailing Lists.

RFC 8617 §2.1 — Evidence

In ARC's situation, the "evidence" is a message's authentication assessment at any point along the delivery path between origination and final delivery.

Google — Requirements for bulk senders (5,000+/day)

Firma DKIM auth.dkim

DKIM firma partes del mensaje con una clave privada y publica la clave pública en DNS. Verificamos cada firma que contiene el mensaje e indicamos el dominio firmante, el selector y la longitud de la clave.

Si falla: Activa DKIM en tu plataforma de envío y publica la clave que te proporciona. Usa 2048 bits (1024 todavía se verifica, pero está quedando obsoleto).

Cuesta hasta 18 puntos de 100 en nuestra puntuación y hasta 1 de 10 en la puntuación clásica.

RFC 6376 §3.5 — The DKIM-Signature Header Field

The signature of the email is stored in the DKIM-Signature header field.

RFC 6376 §6.1 — Extract Signatures from the Message

Verifiers MUST NOT attribute ultimate meaning to the order of multiple DKIM-Signature header fields.

Google — Turn on DKIM for your domain

Google — Requirements for bulk senders (5,000+/day)

Alineación DKIM auth.dkim_alignment

Una firma válida no es suficiente para DMARC. El dominio firmante debe coincidir con el dominio del encabezado From, exactamente o por dominio organizativo, según la política que hayas publicado.

Si falla: Firma con tu propio dominio en lugar del dominio de tu plataforma. La mayoría de las plataformas lo permiten y lo llaman dominio de envío personalizado o autenticado.

Cuesta hasta 10 puntos de 100 en nuestra puntuación y hasta 1 de 10 en la puntuación clásica.

RFC 7489 §3.1.1 — DKIM-Authenticated Identifiers

DMARC permits Identifier Alignment, based on the result of a DKIM authentication, to be strict or relaxed.

Google — Add a DMARC record

Google — Requirements for bulk senders (5,000+/day)

Resultado DMARC auth.dmarc

DMARC vincula SPF y DKIM con el dominio que ve el lector e indica a los receptores qué hacer cuando ninguno está alineado. Indicamos la política publicada y si este mensaje la cumplió.

Si falla: Publica un registro DMARC. Empieza con p=none, revisa los informes durante unas semanas y después pasa a quarantine cuando sepas qué otros sistemas envían mensajes en tu nombre.

Cuesta hasta 14 puntos de 100 en nuestra puntuación.

RFC 7489 §6.6.2 — Determine Handling Policy

DMARC evaluation can only yield a "pass" result after one of the underlying authentication mechanisms passes for an aligned identifier.

RFC 7489 §6.3 — General Record Format

DMARC records follow the extensible "tag-value" syntax for DNS-based key records defined in DKIM [DKIM].

Google — Requirements for bulk senders (5,000+/day)

Yahoo — Sender requirements and recommendations

Sender ID auth.sender_id

La misma comprobación que SPF, ejecutada con el dominio del encabezado From en lugar del sobre. Responde a una pregunta distinta: si el dominio que ve el lector autoriza al servidor que envió el mensaje. Un mensaje puede superar SPF en su sobre mientras el dominio visible no avala a nadie.

Si falla: Publica SPF para el dominio de tu encabezado From, no solo para el dominio de rebote que te proporcionó tu plataforma.

Cuesta hasta 5 puntos de 100 en nuestra puntuación y hasta 0.5 de 10 en la puntuación clásica.

RFC 4406 §4 — Record Selection

After the above steps, there should be one record remaining and evaluation can proceed.

SPF auth.spf

SPF es un registro DNS que enumera qué servidores pueden enviar mensajes para tu dominio. El servidor receptor toma la dirección del sobre, consulta el registro de ese dominio y comprueba si la IP que se conecta está incluida. Indicamos el resultado y el número de consultas DNS que necesitó el registro, porque la evaluación se detiene en diez y cualquier cantidad superior es un error permanente, no una validación.

Si falla: Publica un registro que indique tu plataforma de envío y nada más. Si el tuyo está cerca del límite de diez consultas, aplana los includes que no uses (un registro que se valida hoy empieza a fallar el día en que un proveedor añade un include propio).

Cuesta hasta 18 puntos de 100 en nuestra puntuación y hasta 1 de 10 en la puntuación clásica.

RFC 7208 §4.6.4 — DNS Lookup Limits

SPF implementations MUST limit the total number of those terms to 10 during SPF evaluation, to avoid unreasonable load on the DNS. If this limit is exceeded, the implementation MUST return "permerror".

RFC 7208 §2.6 — Results of Evaluation

Section 4 defines check_host(), a model function definition that uses the inputs defined above and the sender's policy published in the DNS to reach a conclusion about client authorization.

Google — Define an SPF record

Google — Requirements for bulk senders (5,000+/day)

Alineación SPF auth.spf_alignment

Indica si la dirección de rebote coincide con la dirección From que ve el lector. SPF autoriza el sobre y DMARC solo tiene en cuenta esa autorización cuando ambos están alineados.

Si falla: Solicita a tu plataforma de envío un subdominio de rebote de tu propio dominio. Si tu DKIM ya está alineado, esto no es urgente, pero te deja sin alternativa cuando DKIM se rompe durante el tránsito.

Cuesta hasta 5 puntos de 100 en nuestra puntuación y hasta 0.5 de 10 en la puntuación clásica.

RFC 7489 §3.1.2 — SPF-Authenticated Identifiers

In relaxed mode, the [SPF]-authenticated domain and RFC5322.From domain must have the same Organizational Domain. In strict mode, only an exact DNS domain match is considered to produce Identifier Alignment.

RFC 7489 §6.6.2 — Determine Handling Policy

If one or more of the Authenticated Identifiers align with the RFC5322.From domain, the message is considered to pass the DMARC mechanism check.

Google — Add a DMARC record

Google — Requirements for bulk senders (5,000+/day)

Infraestructura y reputación

La máquina y la dirección desde las que se envió el mensaje, y lo que el resto de Internet ya piensa de ellas.

El nombre de host de envío se resuelve infra.a_record

Si el nombre de host anunciado en HELO tiene algún registro de dirección.

Si falla: Publica un registro A para el nombre que anuncia tu servidor.

Cuesta hasta 5 puntos de 100 en nuestra puntuación y hasta 3 de 10 en la puntuación clásica.

RFC 5321 §5.1 — Locating the Target Host

If an empty list of MXs is returned, the address is treated as if it was associated with an implicit MX RR, with a preference of 0, pointing to that host.

Google — MX record values and troubleshooting

Listas de bloqueo infra.dnsbl

Si la IP de envío aparece en alguna de las listas de bloqueo que los receptores consultan realmente. Nuestra lista se comprueba con el punto de prueba documentado de cada zona en lugar de elaborarse mediante una búsqueda web, porque una zona inactiva responde NXDOMAIN y eso se interpreta como "limpio".

Si falla: Sigue el proceso de retirada de la lista en el sitio del operador correspondiente. Aparecer en una zona importante bloquea el correo por completo, así que resuélvelo antes que cualquier otra cosa de la página.

Cuesta hasta 25 puntos de 100 en nuestra puntuación y hasta 3 de 10 en la puntuación clásica.

RFC 5782 §2.1 — IP Address DNSxL

Each IPv4 address listed in the DNSxL has a corresponding DNS entry.

RFC 5782 §5 — Test and Contact Addresses

IPv4-based DNSxLs MUST contain an entry for 127.0.0.2 for testing purposes.

Google — Postmaster Tools: reputation and delivery errors

Google — Email sender guidelines

Nombre HELO infra.helo

El nombre con el que el servidor de envío se anuncia al inicio de la conversación SMTP. Tiene que ser un dominio completo que se resuelva.

Si falla: Configura el nombre de host de tu servidor de correo con un nombre real de tu dominio, no con un identificador de contenedor ni un nombre interno.

Cuesta hasta 5 puntos de 100 en nuestra puntuación.

RFC 5321 §4.1.1.1 — Extended HELLO (EHLO) or HELLO (HELO)

The argument clause contains the fully-qualified domain name of the SMTP client, if one is available.

Google — Email sender guidelines

Google — Requirements for bulk senders (5,000+/day)

Registro MX infra.mx

Si el dominio del encabezado From puede recibir correo. Sin él, las respuestas y los rebotes no tienen adónde ir, y los filtros consideran una mala señal que un dominio de envío no pueda recibir correo.

Si falla: Publica un registro MX para el dominio desde el que envías, aunque solo dirija a un buzón que leas una vez al mes.

Cuesta hasta 5 puntos de 100 en nuestra puntuación y hasta 3 de 10 en la puntuación clásica.

RFC 5321 §5.1 — Locating the Target Host

The lookup first attempts to locate an MX record associated with the name.

Google — MX record values and troubleshooting

DNS inverso infra.rdns

Si la IP de envío se resuelve a un nombre de host y si ese nombre de host se resuelve a su vez a la misma IP. El recorrido de ida y vuelta es lo importante: un PTR que apunta a cualquier sitio es fácil, un par coincidente demuestra que la dirección es tuya.

Si falla: Pide a quien sea propietario de la IP que configure el PTR con un nombre que controles y asegúrate de que ese nombre tenga un registro A que apunte de vuelta.

Cuesta hasta 12 puntos de 100 en nuestra puntuación y hasta 1.5 de 10 en la puntuación clásica.

RFC 1912 §2.1 — Inconsistent, Missing, or Bad Data

Make sure your PTR and A records match. For every IP address, there should be a matching PTR record in the in-addr.arpa domain.

Google — Email sender guidelines

Google — Requirements for bulk senders (5,000+/day)

Cifrado del transporte infra.tls

Si el mensaje llegó mediante TLS y con qué cifrado. Todos los sistemas modernos lo negocian; que un mensaje llegue sin cifrar dice algo sobre la configuración de envío.

Si falla: Activa STARTTLS en el servidor de envío. Todas las plataformas principales ya lo hacen, por lo que un fallo aquí suele indicar que hay un relé autogestionado en la ruta.

Cuesta hasta 5 puntos de 100 en nuestra puntuación.

RFC 3207 §2 — STARTTLS Extension

The STARTTLS extension to SMTP is laid out as follows:

Google — Require TLS for secure message transport

Google — Requirements for bulk senders (5,000+/day)

Motores de spam

Cómo evalúan el mensaje los filtros de contenido independientes. Dos motores en lugar de uno, porque la puntuación de un solo motor es la opinión de ese motor.

Evaluación de IA spam.ai_judge

Un modelo estima cómo trataría el mensaje un filtro moderno de aprendizaje automático, a partir de los hallazgos técnicos y las mediciones del contenido. Ve los hechos, no el texto del cuerpo.

Si falla: Solo informativo por sí solo. Su estimación contribuye al veredicto combinado que aparece a continuación.

Se muestra como detalle. Nunca se puntúa.

Veredicto combinado spam.panel

Un único número obtenido de los motores que respondieron, ponderado para que el resultado más contundente no se diluya con un simple promedio. SpamAssassin y Postmark cuentan como un solo voto porque comparten una base de reglas.

Si falla: Revisa los hallazgos individuales. Esta fila cambia cuando ellos cambian.

Cuesta hasta 25 puntos de 100 en nuestra puntuación.

Google — Why Gmail marks messages as spam

How this score is calculated

Postmark SpamCheck spam.postmark

Una tercera opinión, desactivada de forma predeterminada. Su endpoint recibe el mensaje completo y no podemos censurar ninguna parte sin invalidar lo que se está midiendo, por lo que activarlo implica aceptar que cada mensaje probado se copie a un tercero.

Si falla: No hay nada que hacer. Cuando está desactivado, la comprobación indica que está desactivado, lo cual no equivale a superarla.

Se muestra como detalle. Nunca se puntúa.

Rspamd spam.rspamd

Un segundo filtro, desarrollado de forma independiente. Discrepa de SpamAssassin con suficiente frecuencia como para que merezca la pena consultarlo, razón por la que está aquí.

Si falla: Solo informativo. La opinión de este motor se incorpora al veredicto combinado en lugar de puntuarse por separado.

Se muestra como detalle. Nunca se puntúa.

SpamAssassin spam.spamassassin

El filtro clásico basado en reglas, que sigue siendo el motor de la mayoría de las herramientas de pruebas de correo electrónico. Se muestra cada regla activada con su peso.

Si falla: Revisa las reglas activadas en lugar de la puntuación total. La mayoría son fáciles de corregir una vez que puedes ver cuáles son.

Cuesta hasta 3 de 10 en la puntuación clásica.

Google — Why Gmail marks messages as spam

Apache SpamAssassin — rule documentation

Contenido

El propio mensaje: su estructura, sus enlaces, sus imágenes y lo que un filtro lee antes de tomar una decisión.

Texto alternativo de imágenes content.alt_attributes

Si las imágenes incluyen atributos alt. Los clientes de correo bloquean de forma predeterminada las imágenes remotas, por lo que durante los primeros segundos el texto alternativo es tu mensaje.

Si falla: Escribe un texto alternativo que transmita el significado y nunca dejes la imagen principal sin uno.

Cuesta hasta 4 puntos de 100 en nuestra puntuación y hasta 0.5 de 10 en la puntuación clásica.

Google — Email sender guidelines

Script e iframe content.forbidden_tags

Si el HTML contiene etiquetas que ningún cliente de correo ejecutará. En el mejor de los casos se eliminan y, en el peor, se consideran una señal de evasión.

Si falla: Elimina script, iframe, object y embed. Todo contenido interactivo debe estar detrás de un enlace.

Cuesta hasta 10 puntos de 100 en nuestra puntuación y hasta 1 de 10 en la puntuación clásica.

Google — Email sender guidelines

Equilibrio entre texto y HTML content.html_text_ratio

Cuánto contenido del mensaje es marcado frente a cuánto es texto legible. Una página de marcado alrededor de una sola frase es un patrón que los filtros reconocen.

Si falla: Escribe una parte de texto que diga lo mismo que el HTML, en lugar de usar un marcador de posición.

Cuesta hasta 3 puntos de 100 en nuestra puntuación y hasta 0.3 de 10 en la puntuación clásica.

RFC 2046 §5.1.4 — Alternative Subtype

Systems should recognize that the content of the various parts are interchangeable.

Google — Why Gmail marks messages as spam

Partes de texto y HTML content.html_version

Si el mensaje incluye una alternativa en texto sin formato junto al HTML. Algunos filtros tienen en cuenta su ausencia, y todos los lectores de pantalla necesitan una.

Si falla: Envía multipart/alternative con una versión de texto real, no una parte vacía ni una línea que indique que debe verse en un navegador.

Cuesta hasta 5 puntos de 100 en nuestra puntuación.

RFC 2046 §5.1.4 — Alternative Subtype

The "multipart/alternative" type is syntactically identical to "multipart/mixed", but the semantics are different. In particular, each of the body parts is an "alternative" version of the same information.

Google — Email sender guidelines

Tamaño del HTML content.html_weight

El tamaño de la parte HTML. Gmail recorta los mensajes que superan aproximadamente los 102 KB y oculta el resto detrás de un enlace, lo que incluye el pie de página para cancelar la suscripción.

Si falla: Reduce el CSS en línea y los bloques de estilo repetidos (la mayoría de las plantillas ocupan un tercio del límite una vez eliminadas las reglas no utilizadas).

Cuesta hasta 3 puntos de 100 en nuestra puntuación y hasta 0.3 de 10 en la puntuación clásica.

Google — Email sender guidelines

Peso de las imágenes content.images_weight

El tamaño total de las imágenes que carga el mensaje. Las imágenes pesadas hacen que un mensaje tarde en cargar en un teléfono, y los filtros tratan con recelo los mensajes que solo contienen imágenes.

Si falla: Comprímelas y asegúrate de que el mensaje siga siendo legible con las imágenes desactivadas.

Cuesta hasta 3 puntos de 100 en nuestra puntuación y hasta 0.3 de 10 en la puntuación clásica.

Google — Email sender guidelines

Análisis de archivos adjuntos content.malware

Si los archivos adjuntos contienen malware conocido. En las implementaciones donde el analizador está desactivado, esto indica que no se ejecutó en lugar de informar de que no se detectaron amenazas.

Si falla: Si esto se activa, deja de enviar mensajes y averigua qué hay en el equipo que generó el mensaje.

Cuesta hasta 60 puntos de 100 en nuestra puntuación.

Google — Why Gmail marks messages as spam

ClamAV — how detection works

Preencabezado content.preheader

La línea de vista previa que un cliente muestra junto al asunto. Sin ella, muestra lo primero que aparece en el cuerpo, que suele ser un enlace para verlo en el navegador.

Si falla: Añade un bloque de preencabezado oculto como primer elemento del cuerpo.

Cuesta hasta 2 puntos de 100 en nuestra puntuación.

Google — Email sender guidelines

Asunto content.subject

La longitud, el uso de mayúsculas y los patrones que puntúan los filtros. Medimos el asunto decodificado, por lo que una línea en cirílico o CJK se evalúa como texto y no como su codificación.

Si falla: Mantenlo por debajo de unos 60 caracteres y elimina las mayúsculas enfáticas y los signos de exclamación.

Cuesta hasta 3 puntos de 100 en nuestra puntuación.

RFC 5322 §2.2 — Header Fields

Header fields are lines beginning with a field name, followed by a colon (":"), followed by a field body, and terminated by CRLF.

RFC 2047 §2 — Syntax of encoded-words

An 'encoded-word' is defined by the following ABNF grammar.

Google — Why Gmail marks messages as spam

Enlaces acortados content.url_shortener

Si los enlaces pasan por un acortador público. Los acortadores ocultan el destino, que es exactamente aquello de lo que se entrena a los filtros para desconfiar.

Si falla: Enlaza tu propio dominio o utiliza el dominio de seguimiento de tu plataforma en un subdominio tuyo.

Cuesta hasta 5 puntos de 100 en nuestra puntuación y hasta 0.5 de 10 en la puntuación clásica.

Google — Why Gmail marks messages as spam

Reglas para remitentes masivos

Los requisitos que Gmail y Yahoo publican para quienes envían grandes volúmenes. Se aplican a los envíos masivos y se omiten en los mensajes que no parecen serlo.

Política DMARC publicada compliance.dmarc_present

Si el dominio From publica algún registro DMARC, independientemente de si este mensaje lo ha superado. Gmail y Yahoo exigen uno a los remitentes de correo masivo.

Si falla: Publica un registro. p=none basta para cumplir el requisito y te proporciona informes con los que trabajar.

Cuesta hasta 6 puntos de 100 en nuestra puntuación.

RFC 7489 §6.3 — General Record Format

p: Requested Mail Receiver policy (plain-text; REQUIRED for policy records).

Google — Requirements for bulk senders (5,000+/day)

Yahoo — Sender requirements and recommendations

List-Unsubscribe compliance.list_unsubscribe

Si el mensaje incluye una cabecera de cancelación de suscripción sobre la que puede actuar un cliente de correo. Gmail y Yahoo la exigen a los remitentes de correo masivo, y su ausencia se filtra independientemente de todo lo demás.

Si falla: Añade una cabecera List-Unsubscribe con un URI HTTPS. Cualquier plataforma de envío puede hacerlo.

Cuesta hasta 10 puntos de 100 en nuestra puntuación y hasta 1 de 10 en la puntuación clásica.

RFC 2369 §3.2 — List-Unsubscribe

The List-Unsubscribe field describes the command (preferably using mail) to directly unsubscribe the user (removing them from the list).

Google — Requirements for bulk senders (5,000+/day)

Yahoo — Sender requirements and recommendations

Cancelación con un clic compliance.one_click_unsubscribe

La forma más estricta: un URI HTTPS, una cabecera "List-Unsubscribe-Post" y una única firma DKIM válida que cubra ambas cabeceras. Deben estar las tres o el destinatario no muestra el botón.

Si falla: El fallo habitual está en la firma: las plataformas firman "List-Unsubscribe" y olvidan "List-Unsubscribe-Post". Los nombres de ambas cabeceras deben aparecer en la etiqueta h= de la misma firma.

Cuesta hasta 8 puntos de 100 en nuestra puntuación.

RFC 8058 §4 — Additional Requirements

The List-Unsubscribe and List-Unsubscribe-Post headers MUST be covered by the signature and included in the "h=" tag of a valid DKIM-Signature header field.

RFC 8058 §3.1 — Mail Senders

The List-Unsubscribe header field MUST contain one HTTPS URI.

Google — Requirements for bulk senders (5,000+/day)

Yahoo — Sender requirements and recommendations

Recomendaciones

Conviene aplicarlas y nunca se puntúan. Nada de esta sección puede restar puntos, lo cual es una decisión de producto que las pruebas aplican.

BIMI advisory.bimi

Si el dominio publica un registro BIMI, que coloca un logotipo junto a tus mensajes en algunos clientes. Primero necesita una política DMARC aplicada y un certificado de marca verificada que cuesta dinero.

Si falla: Merece la pena hacerlo cuando DMARC esté en cuarentena o rechazo y el volumen justifique el certificado.

Recomendación. No cuesta nada.

BIMI — draft specification, not yet an RFC

Antigüedad y longitud de la clave DKIM advisory.dkim_key_rotation

La longitud de la clave de firma y cuánto tiempo lleva en uso. Las claves cortas son cada año más baratas de atacar sin conexión.

Si falla: Cambie a 2048 bits y rote la clave según un calendario. Publique el nuevo selector, cambie la firma para usarlo y después retire el anterior.

Recomendación. No cuesta nada.

RFC 8301 §3.2 — Key Sizes

Since short RSA keys more easily succumb to off-line attacks, Signers MUST use RSA keys of at least 1024 bits for all keys. Signers SHOULD use RSA keys of at least 2048 bits.

Google — Turn on DKIM for your domain

DNSSEC advisory.dnssec

Si el dominio está firmado. SPF, DKIM y DMARC residen en DNS, por lo que un atacante que pueda falsificar respuestas de DNS puede falsificar los tres.

Si falla: Actívelo en su registrador. Normalmente es una sola opción, y el registrador se encarga del resto.

Recomendación. No cuesta nada.

RFC 4033 §2 — Definitions of Important DNSSEC Terms

Authentication Chain: An alternating sequence of DNS public key (DNSKEY) RRsets and Delegation Signer (DS) RRsets

MTA-STS advisory.mta_sts

Si el dominio publica una política que indica a otros servidores que rechacen las entregas sin cifrar dirigidas a ti. Protege el correo que se te envía, no el que tú envías.

Si falla: Publica el registro TXT y el archivo de política mediante HTTPS (una tarde de trabajo, y elimina un ataque de degradación).

Recomendación. No cuesta nada.

RFC 8461 §3 — Policy Discovery

To discover if a recipient domain implements MTA-STS, a sender need only resolve a single TXT record.

Informes de TLS advisory.tls_rpt

Si el dominio solicita informes cuando alguien no logra realizar una entrega a través de TLS. Se combina con MTA-STS: la política sin los informes no permite saber si funciona.

Si falla: Añada el registro TXT con una dirección que reciba los informes diarios.

Recomendación. No cuesta nada.

RFC 8460 §3 — Reporting Policy

A domain publishes a record to its DNS indicating that it wishes to receive reports.