Cómo configurar SPF, DKIM y DMARC

Una guía práctica para autenticar tu propio dominio: publica SPF, DKIM y DMARC en el orden correcto, mantén tus IP de envío fuera de las listas de bloqueo y verifica que cada capa pasa realmente.

Esta es una guía práctica de configuración: cómo publicar SPF, DKIM y DMARC para un dominio desde el que tú envías correo, mantener tus IP de envío fuera de las listas de bloqueo RBL y verificar que todo funciona de verdad. Si primero quieres la teoría en lenguaje sencillo de lo que es cada mecanismo, lee cualquier introducción general de “cómo funciona la autenticación de correo”; aquí nos centramos en los registros que creas, el orden en que los despliegas y los errores que rompen el correo real.

Antes de empezar, reúne dos cosas:
  • Acceso a la zona DNS de tu dominio (donde añades registros TXT) — normalmente tu registrador o proveedor de DNS.
  • Una lista por escrito de cada servicio que envía correo en nombre de tu dominio: tu proveedor de buzón (Google Workspace, Microsoft 365…), tu propio servidor de correo y cualquier tercero — herramienta de boletines, CRM, facturación, servicio de atención. Si olvidas uno, su correo fallará la autenticación.

Paso 1 — Publica un solo registro SPF

SPF es un único registro TXT en la raíz de tu dominio que enumera los servidores autorizados a enviar por él. La regla en la que todos tropiezan: un dominio solo puede tener un registro SPF. Si usas varios remitentes, los fusionas en una sola línea con varios mecanismos include: — no publicas dos registros SPF.

Un registro típico para un dominio que envía a través de Google Workspace más una herramienta de marketing:

example.com. IN TXT "v=spf1 include:_spf.google.com include:sendgrid.net -all"
ElementoSignificado
include:_spf.google.comAutoriza por referencia todo el rango de envío de un proveedor. Obtén el token exacto de la documentación de cada remitente.
ip4: / ip6:Autoriza tu propio servidor de correo por su IP pública, p. ej. ip4:203.0.113.10.
~all vs -all~all = softfail (empieza aquí mientras pruebas); -all = hardfail (cambia a esto una vez que la lista esté completa).

El límite de 10 consultas. SPF permite como máximo 10 consultas DNS mientras se evalúa; cada mecanismo include: y a/mx puede costar una o más. Si lo superas, SPF devuelve permerror — tratado como un fallo. Si acumulas muchos proveedores, elimina los includes que no uses o utiliza un servicio de aplanamiento de SPF en lugar de amontonar más.

Empieza suave, luego endurece. Publica con ~all durante una o dos semanas, confirma que ningún remitente legítimo falla y después cambia el mecanismo final a -all.

Paso 2 — Activa DKIM en cada remitente

DKIM añade una firma criptográfica a cada mensaje. Rara vez construyes la clave a mano — cada plataforma de envío la genera y te entrega un registro TXT (o CNAME) para publicar bajo un selector. Haz esto por cada remitente: Google, Microsoft, tu ESP y tu propio servidor reciben cada uno su propio selector y clave.

  1. En el panel de administración del remitente, habilita DKIM / “autenticación de correo”. Te muestra un selector (p. ej. google, s1) y una clave pública.
  2. Publícalo en el DNS en <selector>._domainkey.example.com. Los proveedores que usan un CNAME pueden rotar la clave por ti — prefiérelo cuando te lo ofrezcan.
  3. De vuelta en el panel, haz clic en Empezar a autenticar para que el remitente comience a añadir la cabecera DKIM-Signature:. Prefiere una clave de 2048 bits cuando puedas elegir.

Como la firma viaja dentro del mensaje, DKIM sobrevive al reenvío (a diferencia de SPF) — que es exactamente por lo que el siguiente paso se apoya en él.

Paso 3 — Despliega DMARC de forma gradual

DMARC vincula SPF y DKIM a la dirección From: visible y le indica a los receptores qué hacer ante un fallo. Nunca empieces en p=reject — rebotarás tu propio correo legítimo de un remitente que olvidaste. Despliégalo en tres etapas, vigilando los informes entre cada una.

EtapaRegistro en _dmarc.example.comPropósito
1. Monitorizarv=DMARC1; p=none; rua=mailto:dmarc@example.comNo cambia nada para los destinatarios; solo recopila informes agregados de quién envía en tu nombre.
2. Cuarentenav=DMARC1; p=quarantine; pct=25; rua=…Envía una fracción del correo que falla a spam. Aumenta pct a medida que ganas confianza.
3. Aplicarv=DMARC1; p=reject; rua=…; sp=rejectRechaza directamente el correo suplantado. sp= establece la política para los subdominios.

La dirección rua= recibe informes agregados XML diarios de los receptores. Léelos (al principio basta con un visor gratuito de informes DMARC): cada uno enumera las IP de envío que usan tu dominio y si superaron SPF y DKIM con alineación. La alineación es la trampa — un mensaje no solo debe superar SPF o DKIM, sino que el dominio que pasa tiene que coincidir con el dominio From:. Si un servicio legítimo supera DKIM para su propio dominio pero no para el tuyo, corrígelo publicando el DKIM de ese servicio bajo tu dominio (Paso 2) antes de pasar a la aplicación.

Paso 4 — Mantén tus IP de envío fuera de las RBL

SPF/DKIM/DMARC prueban la identidad; las listas de bloqueo RBL (DNSBL) juzgan la reputación de la IP de envío. Un mensaje perfectamente autenticado aún acaba en spam si su IP está listada. No publicas nada para las RBL — simplemente te mantienes limpio de ellas:

  • Envía solo correo deseado. Las quejas por spam y caer en spam-traps son la vía más rápida hacia una lista.
  • Calienta las IP nuevas gradualmente en lugar de disparar volumen el primer día.
  • Protege cada cuenta y script que pueda enviar — un solo formulario o contraseña comprometidos hacen que toda la IP acabe listada.
  • Configura un DNS inverso (PTR) válido para tu IP de envío que coincida con su nombre HELO.

Si acabas listado, la mayoría de las listas reputadas (Spamhaus y otras) muestran por qué y ofrecen un proceso de retirada autoservicio una vez corregida la causa. Corrige primero, luego solicita la retirada — pedir la baja mientras el problema persiste solo hace que te vuelvan a listar.

Paso 5 — Verifica que realmente funciona

Publicar registros no es una prueba. Confirma cada capa:

  • Comprueba que los registros existen. Consulta el DNS directamente: dig TXT example.com, dig TXT google._domainkey.example.com, dig TXT _dmarc.example.com (o nslookup -type=TXT en Windows).
  • Confirma los servidores de correo que autorizaste. Usa nuestra Consulta MX para ver los hosts MX que un dominio publica realmente — útil para detectar un host de correo obsoleto o incorrecto.
  • Lee los resultados en un mensaje real. Envíate un mensaje de prueba, abre su código fuente en bruto y pégalo en el decodificador MIME. Fíjate en la cabecera Authentication-Results: — indica spf=pass, dkim=pass y dmarc=pass (o el fallo exacto) tal como lo vio el receptor. Esa es la verdad de fondo.
  • Vigila los informes DMARC durante un par de semanas antes de pasar de p=none a la aplicación.

Errores habituales de configuración

SíntomaCausa habitual y solución
SPF permerrorDos registros SPF, o más de 10 consultas DNS. Fusiónalos en un solo registro; recorta los include: que no uses.
El correo legítimo falla SPFUn remitente que olvidaste autorizar, o el correo fue reenviado. Añade el remitente; apóyate en la alineación DKIM+DMARC para el reenvío.
DKIM fail (hash del cuerpo)Algo reescribió el mensaje en tránsito (un pie de lista de correo, un dispositivo). Firma con canonicalización relajada; excluye las cabeceras volátiles.
DMARC falla pese a que SPF/DKIM pasanNo hay alineación — el dominio que pasa no es tu dominio From:. Publica el DKIM de ese remitente bajo tu propio dominio.
Suplantan tus subdominiosNo hay política de subdominios. Añade sp=reject al registro DMARC.

Una vez que los tres registros estén activos, alineados y verificados — y tus IP se mantengan fuera de las listas de bloqueo — habrás cerrado la puerta a que suplanten tu dominio y le habrás dado a tu correo real la mejor oportunidad posible de llegar a la bandeja de entrada. Para comprobar direcciones individuales en cualquier dominio, el verificador de correo de la página principal ejecuta por ti las comprobaciones de buzón en vivo.