webtrajans
es

SPF, DKIM y DMARC: qué son y por qué tus correos llegan a spam

La causa más habitual de que los correos de una empresa lleguen a la carpeta de spam es una autenticación incompleta o mal configurada. Con tres registros DNS puedes solucionarlo.

Actualizado: 6 min de lectura

Cuando se diseñó el protocolo de correo (SMTP) en los años 80 no había forma de comprobar que el remitente fuera quien decía ser: cualquiera podía escribir la dirección que quisiera en la línea From:. SPF, DKIM y DMARC son tres capas que se añadieron después para cerrar ese hueco, y las tres se publican en los registros DNS de tu dominio. Si tu web, tu tienda online o tu boletín envían correos y estos llegan a spam, lo primero que hay que revisar son estos tres registros.

¿Por qué los correos llegan a spam?

El servidor que recibe el mensaje (Gmail, Outlook, Yahoo, el de tu proveedor de hosting…) se hace más o menos estas preguntas con cada correo entrante:

  1. ¿El servidor que envía está autorizado por el dueño del dominio? (SPF)
  2. ¿El mensaje está firmado por ese dominio y no se ha modificado por el camino? (DKIM)
  3. ¿Qué quiere el dueño del dominio que se haga si esas comprobaciones fallan? (DMARC)

Si la respuesta es «no lo sé» o «no», el mensaje va a spam o directamente no se entrega. Los primeros perjudicados suelen ser los correos enviados por servicios de terceros: el formulario de contacto de la web, los avisos de pedido de WooCommerce o Shopify, el CRM o la herramienta de newsletter (Mailchimp, Brevo, Acumbamail…). Además, la reputación cuenta: Gmail pide a los remitentes masivos mantener la tasa de quejas por spam por debajo del 0,3 % y ofrecer baja con un clic.

SPF: quién puede enviar en tu nombre

SPF (Sender Policy Framework) es la lista de servidores autorizados a enviar correo con tu dominio. Es un registro TXT en la raíz del dominio:

v=spf1 include:_spf.google.com include:spf.brevo.com ~all
  • v=spf1 indica que el registro es SPF.
  • include: incorpora la lista SPF de otro servicio (Google Workspace, Microsoft 365, Brevo, Mailchimp…).
  • ip4: / ip6: autorizan una IP concreta, por ejemplo la de tu servidor.
  • ~all al final significa «lo que no esté en la lista es sospechoso» (softfail); -all significa «recházalo» (fail).

Errores frecuentes:

Error Consecuencia Solución
Dos registros v=spf1 distintos SPF inválido por completo Fusionarlos en uno
Más de 10 consultas DNS (cadena de include) permerror Quitar servicios que ya no uses
Usar +all Cualquiera puede enviar como tú Usar ~all o -all
Olvidar el servidor del hosting Los avisos del formulario van a spam Incluir el SPF del hosting

DKIM: el mensaje no se ha alterado

DKIM (DomainKeys Identified Mail) añade a cada mensaje saliente una firma digital hecha con la clave privada del servidor. El receptor busca la clave pública en tu DNS para verificarla. La clave se publica bajo un nombre llamado selector:

google._domainkey.ejemplo.com  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkqh..."

No tienes que generar la clave tú: la copias del panel de tu proveedor (Google Workspace → Aplicaciones → Gmail → Autenticar correo electrónico; Microsoft 365 → Defender → DKIM; en Brevo o Mailchimp, en la sección de dominios de envío) y la pegas en tu DNS. Cada servicio usa su propio selector, así que es normal tener varios registros DKIM. Usa claves de 2048 bits cuando el proveedor lo permita.

DMARC: qué hacer si algo falla

DMARC une SPF y DKIM en una política. Hace dos cosas: indica al receptor qué hacer con los mensajes que no superan la comprobación y te envía informes de quién está enviando correo con tu dominio. Es un registro TXT en el subdominio _dmarc:

_dmarc.ejemplo.com  TXT  "v=DMARC1; p=none; rua=mailto:dmarc@ejemplo.com"
Política Significado Cuándo usarla
p=none Solo observar e informar Al empezar, 2–4 semanas
p=quarantine Mandar a spam lo que falle Cuando los informes estén limpios
p=reject Rechazar lo que falle Con todas las fuentes verificadas

Para que DMARC pase, al menos uno de los dos (SPF o DKIM) tiene que pasar y además estar alineado con el dominio del From:. Por ejemplo, si envías como info@ejemplo.com pero la herramienta de newsletter firma con su propio dominio, DKIM pasará pero no estará alineado: hay que configurar el dominio de envío personalizado en esa herramienta.

Requisitos de Gmail, Yahoo y Outlook

Desde febrero de 2024 Google y Yahoo exigen a los remitentes masivos (más de 5000 mensajes diarios a sus usuarios) SPF y DKIM válidos, un registro DMARC (basta con p=none), alineación del dominio, baja con un clic mediante la cabecera List-Unsubscribe y una tasa de spam baja. Microsoft aplica requisitos equivalentes para Outlook.com y Hotmail desde el 5 de mayo de 2025. Aunque envíes poco, cumplir estas reglas mejora la entregabilidad: los filtros tratan mejor a los dominios bien autenticados.

Configuración paso a paso

  1. Comprueba el estado actual. Introduce tu dominio en el comprobador de SPF y DMARC y verás qué registros faltan o tienen errores.
  2. Haz una lista de todo lo que envía correo. Correo corporativo (Google, Microsoft, Zoho), servidor del hosting (formularios), herramienta de newsletter, plataforma de tienda online, CRM, facturación.
  3. Crea un único registro SPF con los include de esos servicios.
  4. Activa DKIM en cada servicio y añade a tu DNS el registro que te den.
  5. Publica DMARC con p=none y una dirección para los informes rua.
  6. Revisa los informes durante unas semanas. Son XML difíciles de leer a mano; hay servicios gratuitos que los resumen.
  7. Endurece la política: primero quarantine, luego reject.
  8. Verifica la propagación con la consulta DNS: busca los registros TXT del dominio y de _dmarc.

Casos típicos en pymes

  • WordPress envía con mail() de PHP. El correo sale desde el servidor del hosting sin DKIM. Solución: un plugin SMTP que envíe a través de tu cuenta de correo real.
  • Dominio comprado en un sitio y DNS en otro. Los registros hay que crearlos donde estén los servidores de nombres activos, no en el registrador. La consulta WHOIS muestra qué servidores DNS usa el dominio.
  • Cambio de proveedor de correo. Al migrar de un proveedor a otro hay que quitar el include antiguo del SPF y añadir el nuevo DKIM; si no, sobran consultas o falla la firma.
  • Subdominios. Si envías newsletters desde news.ejemplo.com, ese subdominio necesita su propio SPF y DKIM; DMARC se hereda del dominio principal salvo que publiques uno específico.

Lista de comprobación

  • Hay un solo registro v=spf1 y no supera las 10 consultas DNS.
  • DKIM está activo en todos los servicios que envían con tu dominio.
  • Existe el registro _dmarc con al menos p=none y una dirección de informes.
  • El formulario de la web envía por SMTP autenticado, no con mail() de PHP.
  • Sabes dónde está alojado el DNS y cuándo caduca el dominio.
  • Si envías campañas, incluyes baja con un clic y vigilas la tasa de quejas.

Si además quieres entender el resto de registros (A, MX, CNAME, TXT…), consulta nuestra guía de registros DNS.

Preguntas frecuentes

¿Se puede enviar correo sin registro SPF?

Se puede, pero Gmail, Outlook y Yahoo mandan cada vez más a spam o rechazan los mensajes sin autenticar. Desde 2024 Google y Yahoo exigen SPF, DKIM y DMARC a quien envía más de 5000 mensajes al día, y Microsoft lo exige desde mayo de 2025.

¿Un dominio puede tener varios registros SPF?

No. Si el dominio publica dos registros v=spf1, la evaluación SPF devuelve 'permerror' y es como no tener ninguno. Une todos los servicios en un solo registro con include:.

¿Debo poner DMARC en p=reject desde el principio?

No. Empieza con p=none, revisa los informes durante unas semanas hasta confirmar que todas tus fuentes legítimas pasan SPF o DKIM, y después sube a p=quarantine y finalmente a p=reject.

¿Cuánto tardan en aplicarse los cambios de DNS?

Normalmente entre unos minutos y unas horas. Si el TTL del registro anterior era alto, puede tardar hasta 24 horas en verse en todo el mundo.

Guías relacionadas