# Comprobaciones de spam

> Cómo puntúa Emailit cada email saliente con Rspamd, por qué se retienen los mensajes con una puntuación de 7 o más, cómo leer Spam Checks y cómo corregir y volver a enviar.

Emailit puntúa con Rspamd cada email que envía, el mismo tipo de filtro de spam que usan muchos servidores receptores. Los mensajes que se parecen demasiado al spam se retienen en lugar de enviarse, lo que protege la reputación de tu dominio. Esta página explica cómo funciona la puntuación, cómo leer los resultados y qué hacer cuando se retiene un mensaje.

## Cómo funciona la puntuación

1. **Emailit prepara el mensaje.** Añade sus cabeceras, como `Message-ID` y el return-path, y firma el mensaje con tu clave DKIM.
2. **Rspamd puntúa exactamente los bytes que se enviarían.** Cada regla que coincide suma o resta puntos.
3. **Emailit compara el total con el umbral de 7.**
   - **Menos de 7:** el mensaje se envía.
   - **7 o más:** el mensaje recibe el estado `held` y no se envía. Su historial de entregas indica: «Held because Rspamd scored this message 8.4, which is at or above the threshold of 7.»

Esto se aplica a todos los mensajes salientes: API, SMTP, campañas y automatizaciones. El email entrante no se puntúa.

Si Rspamd no está disponible, Emailit envía el mensaje sin puntuación en lugar de retrasarlo. Esos mensajes muestran **Not inspected**.

## Leer los resultados

### En la página del email

Abre un mensaje en **Email API → Emails**. La parte superior de la página muestra su puntuación como un distintivo de color, como **Score +3.20**:

| Color | Puntuación | Significado |
| --- | --- | --- |
| Verde | Menos de 5 | Baja probabilidad de spam. |
| Naranja | De 5 a menos de 7 | Cerca del umbral. Conviene mejorarlo. |
| Rojo | 7 o más | Retenido. |
| Gris | **Not inspected** | El mensaje no se ha puntuado. |

El panel **Spam Checks** lista todas las reglas que han coincidido, con tres columnas:

| Columna | Descripción |
| --- | --- |
| **Check** | Lo que busca la regla. Pasa el cursor por encima para ver el nombre de la regla en Rspamd. |
| **Result** | **Negative** para las reglas que suman puntos (malo), **Positive** para las que restan (bueno) y **Neutral** para las reglas sin efecto. |
| **Score** | Cuánto ha sumado o restado la regla, por ejemplo `+2.50` o `-0.10`. |

Usa el filtro **All**, **Negative**, **Positive** y **Neutral** para centrarte en las reglas que han subido la puntuación.

### En la lista de emails

La columna **Spam score** de la lista de emails muestra el distintivo de cada mensaje. Añade un filtro **Spam score**, por ejemplo *greater than or equal to* 5, para encontrar los mensajes que están cerca de ser retenidos. Con la API, [Listar emails](/es/docs/api-reference/emails/list/) acepta el mismo filtro:

```bash
curl -G https://api.emailit.com/v2/emails \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  --data-urlencode "spam_score.gte=5"
```

## Reglas habituales y soluciones

Los nombres de las reglas proceden de Rspamd. Sus puntuaciones exactas pueden cambiar a medida que se actualizan las reglas.

| Regla | Qué significa | Solución |
| --- | --- | --- |
| `MIME_HTML_ONLY` | El mensaje tiene HTML pero no tiene parte de texto plano. | Envía una versión `text` junto con `html`. |
| `R_PARTS_DIFFER` | Las partes de texto plano y HTML dicen cosas muy distintas. | Genera la parte de texto a partir del mismo contenido que el HTML. |
| `HTML_SHORT_LINK_IMG_1` | Un cuerpo HTML corto que es sobre todo una imagen con enlace. | Añade texto real. No envíes emails que sean solo una imagen. |
| `SUBJ_ALL_CAPS` | El asunto está en mayúsculas. | Usa mayúsculas y minúsculas con normalidad. |
| `PHISHING` | El texto visible de un enlace muestra un dominio distinto del destino real. | Haz que la URL visible coincida con el enlace, o usa un texto de enlace descriptivo en lugar de una URL. |
| `ZERO_FONT`, `MANY_INVISIBLE_PARTS` | El mensaje contiene texto oculto para el lector. | Elimina el texto oculto, como palabras con un tamaño de fuente de 0. |
| `DBL_SPAM`, `URIBL_BLACK`, `SEM_URIBL` | Un enlace apunta a un dominio que está en una lista de bloqueo. | Elimina el enlace o sustitúyelo por uno de tu propio dominio. Evita los acortadores de URL públicos. |
| `R_SUSPICIOUS_URL` | Un enlace usa una dirección inusual u ofuscada, como una dirección IP sin más. | Enlaza a nombres de dominio normales. |
| `FREEMAIL_REPLYTO` | El `Reply-To` usa un proveedor de correo gratuito como Gmail. | Usa una dirección de tu propio dominio. |
| `MIME_BAD_EXTENSION`, `MIME_DOUBLE_BAD_EXTENSION` | Un adjunto tiene un tipo de archivo de riesgo, como un ejecutable o un nombre como `invoice.pdf.exe`. | No adjuntes ejecutables. Enlaza al archivo en su lugar. |
| `BAYES_SPAM` | La redacción se parece a la de mensajes conocidos como spam. | Reescribe las frases promocionales y reduce el lenguaje comercial. |
| `FUZZY_DENIED` | El mensaje se parece mucho a spam conocido. | Escribe tu propio contenido en lugar de reutilizar texto de plantillas masivas. |

## Volver a enviar un mensaje retenido

Corrige primero la causa. Un reintento vuelve a enviar **exactamente el mismo contenido**, así que solo sirve cuando el problema estaba fuera del propio mensaje, por ejemplo un dominio enlazado que después se ha retirado de una lista de bloqueo.

- **Si el contenido activó las reglas,** corrige tu plantilla o tu código y envía un mensaje nuevo.
- **Si la causa está resuelta,** reintenta el mensaje retenido:

**Panel**

  Abre el email en **Email API → Emails** y selecciona **Retry**. Emailit crea un email nuevo con el mismo contenido y deja el original sin cambios.

**API**

  Llama a [Reintentar un email](/es/docs/api-reference/emails/retry/) con el ID del email retenido.

```bash
curl https://api.emailit.com/v2/emails/em_5Vb2Nq8Xc1Jm/retry \
  -X POST \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
```

  La respuesta contiene el `id` del email nuevo y el `original_id`.

El reintento se vuelve a puntuar antes de enviarse y consume créditos como cualquier otro email. Puedes reintentar los emails retenidos durante un máximo de 30 días, siempre que tu configuración de [retención de datos](/es/docs/data-retention/) no haya eliminado su contenido. Consulta [Reintentar y reenviar](/es/docs/email-api/retry-and-forward/).

> **Nota:** La puntuación de spam no es el único motivo de `held`. Un mensaje también se retiene cuando el espacio de trabajo se queda sin créditos, su dominio está pausado, el espacio de trabajo está suspendido o Emailit ha retenido la clave de API. El historial de entregas del email muestra el motivo.

## Ver también

  - [Buenas prácticas](/es/docs/deliverability/best-practices/): Hábitos de contenido que mantienen bajas las puntuaciones.
  - [Estados de los emails](/es/docs/logs/email-statuses/): Qué significa held y cada uno de los demás estados.

---
Fuente: https://emailit.com/es/docs/deliverability/spam-checks/
