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:
- ¿El servidor que envía está autorizado por el dueño del dominio? (SPF)
- ¿El mensaje está firmado por ese dominio y no se ha modificado por el camino? (DKIM)
- ¿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=spf1indica 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.~allal final significa «lo que no esté en la lista es sospechoso» (softfail);-allsignifica «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:[email protected]"
| 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 [email protected] 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
- Comprueba el estado actual. Introduce tu dominio en el comprobador de SPF y DMARC y verás qué registros faltan o tienen errores.
- 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.
- Crea un único registro SPF con los
includede esos servicios. - Activa DKIM en cada servicio y añade a tu DNS el registro que te den.
- Publica DMARC con
p=noney una dirección para los informesrua. - Revisa los informes durante unas semanas. Son XML difíciles de leer a mano; hay servicios gratuitos que los resumen.
- Endurece la política: primero
quarantine, luegoreject. - 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
includeantiguo 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=spf1y no supera las 10 consultas DNS. - DKIM está activo en todos los servicios que envían con tu dominio.
- Existe el registro
_dmarccon al menosp=noney 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.