SPF, DKIM y DMARC explicados

Qué hacen los tres registros DNS, por qué Gmail y Yahoo los exigen y cómo comprobar si tus correos los superan.

Por Umut TufanogluActualizado el 20 de octubre de 20265 min de lectura

El campo "De" de un correo puede decir cualquier cosa. El protocolo de correo viene de una época en la que nadie pensaba en remitentes falsificados, y por sí solo no comprueba nada. Para eso existen SPF, DKIM y DMARC: tres registros en el DNS de tu dominio que permiten a los servidores que reciben saber si un correo viene realmente de ti. Sin ellos, tus correos acaban en spam, o alguien envía correos en tu nombre.

SPF: ¿quién puede enviar por tu dominio?

SPF (Sender Policy Framework) es una lista de los servidores autorizados a enviar correo por tu dominio. Es un registro TXT en tu DNS, por ejemplo:

example.com.  TXT  "v=spf1 include:_spf.google.com include:mailgun.org ~all"

El servidor que recibe mira desde qué servidor llegó el correo y lo compara con esta lista. include: incorpora la lista de un proveedor, como tu servicio de correo o tu herramienta de newsletters. El final decide qué pasa con todos los demás: ~all significa "sospechoso", -all significa "rechazar".

Conviene saber:

  • Un dominio tiene exactamente un registro SPF. Dos registros cuentan como error, aunque cada uno sea correcto por separado.
  • SPF no comprueba el "De" visible, sino la dirección del remitente en el sobre del correo (el "Return-Path"). Los programas de correo suelen ocultarla.
  • Como máximo diez consultas DNS: cada include: cuenta, también los anidados. Si sumas suficientes servicios, llegas rápido a este límite.
  • +all deja que cualquier servidor envíe cualquier cosa y hace que SPF no sirva para nada.

DKIM: una firma que viaja con el correo

DKIM (DomainKeys Identified Mail) firma digitalmente cada correo saliente. El servidor que envía crea una firma a partir de partes de la cabecera y del cuerpo, y la escribe en la cabecera DKIM-Signature. La clave pública correspondiente la publicas en tu DNS con un nombre que eliges tú (el "selector"):

s1._domainkey.example.com.  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkqh..."

El servidor que recibe obtiene la clave y comprueba si la firma coincide. Si es así, el correo no se modificó por el camino y viene de un servidor que tiene la clave privada del dominio.

Una ventaja frente a SPF: la firma viaja con el correo. Si alguien reenvía tu mensaje, sigue siendo válida mientras el contenido no cambie.

DMARC: la regla que lo une todo

SPF y DKIM tienen un hueco: comprueban dominios que el destinatario nunca ve. Un correo fraudulento puede superar SPF para estafador.example y aun así mostrar From: banco.example.

DMARC cierra ese hueco. Exige que al menos una de las dos comprobaciones se supere y coincida con el dominio del "De" visible. Esa coincidencia se llama alineación. DMARC también decide qué pasa con los correos que no la cumplen:

_dmarc.example.com.  TXT  "v=DMARC1; p=none; rua=mailto:[email protected]"
  • p=none: solo observar, no bloquear nada.
  • p=quarantine: mover los correos sospechosos a spam.
  • p=reject: rechazar los correos sospechosos.
  • rua=: una dirección para informes diarios sobre qué servidores envían correo en tu nombre.

Empieza con p=none y lee los informes durante unas semanas. Así descubres los servicios que olvidaste en SPF o DKIM antes de pasar a quarantine o reject.

Por qué ahora es obligatorio

Desde febrero de 2024, Gmail y Yahoo exigen a quienes envían grandes volúmenes (en Gmail, más de 5.000 mensajes al día) que usen SPF y DKIM, publiquen un registro DMARC de al menos p=none, ofrezcan la baja con un clic y mantengan bajas las quejas por spam. Microsoft introdujo reglas parecidas para Outlook.com en 2025.

Los remitentes pequeños también salen ganando: los correos que superan SPF, DKIM y DMARC acaban en spam con mucha menos frecuencia, y nadie puede abusar fácilmente de tu dominio para hacer phishing.

Cómo comprobar tus correos

Lo más sencillo es enviar un correo real a una dirección de prueba y mirar qué anotó el servidor que lo recibió. Escribe el resultado en la cabecera Authentication-Results, por ejemplo:

Authentication-Results: mx.example.net;
  spf=pass smtp.mailfrom=bounce.example.com;
  dkim=pass header.d=example.com;
  dmarc=pass header.from=example.com

El mail tester de TossPost lo hace por ti: recibes una dirección de prueba, le envías tu newsletter o tu correo de registro y obtienes un informe con una puntuación de 0 a 10. Muestra si SPF, DKIM y DMARC se superan, si coinciden con el dominio del remitente y si los registros DNS de tu dominio están completos.

Errores habituales

  • Un servicio olvidado: la herramienta de newsletters o de soporte envía correos, pero falta en SPF y no firma con DKIM.
  • Dos registros SPF, porque un servicio nuevo pidió el suyo propio. Junta las entradas include: en un único registro.
  • Demasiadas consultas DNS en SPF por entradas include: anidadas.
  • DKIM configurado, clave sin publicar: el proveedor firma, pero falta el registro en selector._domainkey.
  • DMARC en reject demasiado pronto: se rechazan correos legítimos porque un servicio todavía no está alineado.

En resumen

SPF dice qué servidores pueden enviar. DKIM firma cada correo. DMARC exige que ambos coincidan con el remitente visible y decide qué pasa si no. Con los tres en su sitio, tus correos llegan y tu dominio queda protegido contra el abuso.

Comprueba si tus correos los superan

Escrito por Umut Tufanoglu, que desarrolla y gestiona TossPost. Acerca de TossPost

Pruébalo tú mismo