Respuesta corta: un dominio debe tener un único registro SPF (TXT que empieza por
v=spf1), que liste todos los servicios que envían en su nombre, no supere las 10 consultas DNS y termine en~allo-all. Nunca en+all.
Qué es SPF y qué comprueba
SPF (Sender Policy Framework) es un registro TXT en el DNS donde declaras qué servidores pueden enviar correo con tu dominio. El servidor receptor compara la IP del remitente con esa lista. Si no está, el mensaje puede marcarse como sospechoso o rechazarse. Funciona junto a DKIM y DMARC; si no has configurado este último, empieza por nuestra guía de cómo configurar DMARC.
Cómo ver tu SPF actual
dig +short TXT tudominio.com | grep spf1
# o, en Windows:
nslookup -type=TXT tudominio.com
Verás algo como esto, que corresponde a un dominio con Google Workspace:
v=spf1 include:_spf.google.com ~all
Los errores más comunes
1. Más de un registro SPF
Es el error más frecuente. Ocurre cuando alguien añade el SPF de un nuevo servicio como registro aparte en vez de ampliar el existente. Con dos registros v=spf1, el resultado es un error permanente y el SPF se ignora. Solución: fusiona todo en un único TXT.
# Mal: dos registros
v=spf1 include:_spf.google.com ~all
v=spf1 include:spf.protection.outlook.com -all
# Bien: uno solo
v=spf1 include:_spf.google.com include:spf.protection.outlook.com ~all
2. Superar el límite de 10 consultas DNS
SPF permite como máximo 10 mecanismos que requieran una consulta DNS (include, a, mx, exists, redirect), contando también los que están dentro de cada include. Al pasar de 10, el resultado es un error permanente. Pasa mucho cuando se acumulan CRM, newsletter, facturación y soporte. Solución: elimina servicios que ya no uses, sustituye a y mx por las IP concretas (ip4:) cuando sean estables o usa un servicio de «aplanado» de SPF.
3. Usar +all (o ?all)
+all autoriza a cualquier servidor del mundo a enviar como tu dominio. Anula el sentido de SPF. ?all es neutral y tampoco protege. Solución: termina siempre en ~all (fallo suave) o -all (fallo duro).
4. No terminar con una regla final
Si el registro acaba sin all (por ejemplo, v=spf1 include:_spf.google.com), los remitentes no listados no reciben ninguna indicación de qué hacer. Solución: añade ~all o -all al final.
5. Usar el mecanismo ptr
ptr está desaconsejado: es lento, consume consultas y no es fiable. Solución: sustitúyelo por ip4:, ip6: o include:.
6. Olvidar un servicio que sí envía
Si tu SPF es correcto pero falta, por ejemplo, la herramienta de newsletter, esos correos fallarán SPF. Solución: revisa los informes DMARC o la cabecera Authentication-Results de un mensaje de prueba y añade el include que cada proveedor publica en su documentación.
~all o -all: cuál elegir
| Final | Significado | Recomendación |
|---|---|---|
-all | Fallo duro: lo que no esté listado no está autorizado | Cuando estés seguro de listar todos los remitentes |
~all | Fallo suave: sospechoso pero no se rechaza solo por SPF | Opción prudente mientras ajustas; muy habitual con DMARC activo |
?all | Neutral: sin postura | Evítalo |
+all | Todo el mundo está autorizado | Nunca |
Ejemplos de registros correctos
- Google Workspace:
v=spf1 include:_spf.google.com ~all - Microsoft 365:
v=spf1 include:spf.protection.outlook.com -all - Dominio que no envía correo:
v=spf1 -all
Para el resto de servicios (newsletter, CRM, SMTP transaccional) usa el include exacto que publique su documentación; cambian con el tiempo.
Cómo editar el registro
- Entra en el panel DNS del dominio (registrador, hosting o Cloudflare).
- Localiza el TXT que empieza por
v=spf1. Si hay varios, ya has encontrado el problema. - Edítalo con el contenido correcto. En el campo nombre/host se suele poner
@(la raíz del dominio). - Guarda y comprueba con
digque ha cambiado. - Verifica con un comprobador de SPF que no hay errores ni supera las 10 consultas.
Para agencias: vigilarlo en todas las webs
Jeffrey revisa el SPF de cada dominio y abre el aviso «El SPF del dominio está mal construido» cuando detecta +all, falta de regla final o más de 10 consultas, y lo marca como crítico si el problema es grave. Así lo corriges antes de que un cliente tenga correos en spam. Más información en Para agencias.
Preguntas frecuentes
¿Con SPF ya estoy protegido contra la suplantación?
No del todo. SPF valida el remitente técnico del sobre, no el «De:» que ve el usuario. Para cerrar el círculo necesitas DKIM y DMARC.
¿Cuánto tarda en propagarse un cambio de SPF?
Depende del TTL del registro. Con el valor habitual de 3600 segundos, en torno a una hora; algunos resolvers tardan más.
¿Un subdominio necesita su propio SPF?
Si envía correo, sí. SPF no se hereda: cada nombre que envía necesita el suyo.