¿Qué es SPF y cómo autoriza los servidores de envío?
Por Thomas · CISO virtual · 2026-06-14
Cuando un servidor recibe un correo que dice venir de un dominio, se plantea una pregunta muy simple: ¿tiene derecho la IP que me envía este mensaje a emitir para este dominio? Sin respuesta, cualquiera puede hacerse pasar por cualquiera. SPF — Sender Policy Framework, definido por la RFC 7208 — es la primera pieza que da una respuesta. El dominio publica en su DNS la lista de servidores autorizados a emitir en su nombre, y el destinatario compara. Esta guía explica qué es SPF, cómo es el registro, qué significan los mecanismos, la famosa trampa de los 10 lookups y por qué SPF por sí solo no protege lo que el destinatario ve de verdad.
El problema que SPF resuelve
En su origen, el protocolo de correo no verifica nada. Cualquier servidor, en cualquier lugar de Internet, puede abrir una conexión y declarar «llevo correo de parte de ejemplo.es». Nada se lo impide, y nada avisa al destinatario. Es esa ausencia de control la que volvió triviales el spam y la suplantación durante años.
SPF cierra una parte de ese fallo con una idea muy simple: el propietario del dominio es el único que controla su DNS, así que es el único que puede publicar en él, oficialmente, la lista de sus servidores de envío. El destinatario lee esa lista y verifica que la IP que tiene enfrente figura en ella. Si es así, SPF pasa; si no, SPF falla y el mensaje se vuelve sospechoso.
Qué es SPF en realidad — y qué verifica exactamente
Un detalle es crucial y casi siempre se malinterpreta: SPF no verifica la dirección From: que el usuario lee en su cliente de correo. Verifica el sobre del mensaje — técnicamente el MAIL FROM de la sesión SMTP, también llamado Return-Path. Es la dirección a la que vuelven los rebotes, y a menudo es distinta del From: visible.
En concreto: un correo puede mostrar From: contabilidad@ejemplo-empresa.es teniendo a la vez un sobre MAIL FROM: bounce@otro-dominio.com. SPF valida entonces otro-dominio.com, no ejemplo-empresa.es. Es exactamente la brecha que un atacante explota, y por eso SPF por sí solo nunca basta — volvemos a ello más abajo. Esta distinción sobre ≠ From: visible merece retenerse desde ya: explica la mitad de los malentendidos sobre la autenticación de correo.
Cómo es un registro SPF
SPF es un único registro TXT publicado en la raíz del dominio. Un ejemplo típico para una empresa que envía a través de Google Workspace, SendGrid y un servidor propio:
ejemplo.es. IN TXT
"v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.10 -all"
Desglosémoslo:
v=spf1— la versión. Todo registro SPF empieza por ahí; así lo reconoce el destinatario.include:_spf.google.com— delega en Google: «todo servidor que Google declare autorizado para este subdominio lo está también para mí».include:sendgrid.net— lo mismo para SendGrid, el proveedor de emailing.ip4:203.0.113.10— una IP concreta, el servidor propio, autorizada de forma fija.-all— el cualificador final: todo lo que no esté listado arriba se rechaza de forma estricta.
Un solo registro, una sola línea (aunque se muestre en varias por legibilidad). Es ya la primera trampa: solo debe haber uno — volvemos a ello.
Los mecanismos, uno por uno
El interior de un registro SPF es una sucesión de mecanismos que el destinatario evalúa de izquierda a derecha hasta encontrar una coincidencia:
include:— delega la autorización en otro dominio. Es el mecanismo más habitual: el proveedor (Google, Microsoft 365, SendGrid, Mailchimp…) publica su propio SPF, que basta con importar. No hace falta conocer sus IP, que cambian: él las mantiene al día.ip4:/ip6:— autoriza una dirección IP concreta o un bloque entero (p. ej.ip4:203.0.113.0/24). Ideal para los servidores propios, cuya IP es estable.a— autoriza las IP presentes en los registrosA(oAAAA) del dominio. Práctico cuando el servidor web también envía correo.mx— autoriza las IP de los servidores de correo entrante (los registrosMX). Útil cuando la misma máquina recibe y emite.- el cualificador final
all— la red de seguridad que decide la suerte de todo lo demás.
Cada mecanismo puede llevar un cualificador: + (autoriza, por defecto), - (rechaza), ~ (softfail), ? (neutro). En la práctica solo se ve sobre all, y la elección ahí es decisiva:
-all(fail estricto) — todo lo que no esté listado se rechaza. Es el buen objetivo: una postura clara y defendible.~all(softfail) — «probablemente no legítimo, pero deje pasar marcándolo». Útil en fase de despliegue, mientras se inventaría todo.?all(neutro) — ninguna opinión. Casi mejor no publicar nada; no protege.+all— que NUNCA hay que publicar. Autoriza al mundo entero a emitir para el dominio. Es el equivalente de una puerta abierta de par en par. Allí donde aparezca, la corrección es inmediata.
Para el detalle de cada cualificador y de los casos límite, hemos escrito una guía dedicada: entender el mecanismo all en SPF.
La trampa de los 10 lookups DNS
Aquí está el error más frecuente, y el más traicionero porque es silencioso. La RFC 7208 impone que la evaluación de un registro SPF no desencadene más de 10 resoluciones DNS. Cada include:, cada a, cada mx cuenta como al menos una resolución — y un include puede a su vez contener otros, en cascada.
Suma: Google Workspace consume varios lookups, la plataforma de marketing unos cuantos, la herramienta de facturación otro tanto, la atención al cliente aún más… y el registro supera los 10 sin que nadie se dé cuenta. Por encima, el destinatario devuelve un permerror (error permanente): SPF falla por completo, como si no existiera. El correo legítimo puede entonces quedar marcado como sospechoso.
La trampa es traicionera porque el registro parece correcto y funciona mientras se mantiene por debajo del límite — y luego, un día, se añade un proveedor más, se cruza el umbral y todo se rompe de golpe sin mensaje de error visible. Detallamos el diagnóstico y las causas en SPF: demasiados lookups DNS, y para entender el propio mensaje de error, qué es un permerror SPF lo aborda paso a paso.
La solución se llama aplanamiento (flattening): consiste en reemplazar los include: glotones por los bloques ip4:/ip6: correspondientes, resueltos de una vez por todas. Ahorra lookups a cambio de un mantenimiento: si el proveedor cambia sus IP, hay que regenerar. Es un compromiso que gestionar, explicado en detalle en nuestra guía sobre el aplanamiento de un registro SPF.
Las trampas habituales más allá de los lookups
Otros dos errores rompen SPF de forma discreta:
- Dos registros SPF en el mismo dominio. La RFC es tajante: solo debe existir un único registro
TXTque empiece porv=spf1. Publicar un segundo — a menudo al añadir un proveedor sin tocar el existente — hace que el destinatario devuelva unpermerrory que los dos se ignoren. La regla: todo se fusiona en un registro único. Dosincludeadicionales van en la línea existente, no en una nueva. +allpor descuido. Ya lo hemos dicho, pero merece repetirse: es la peor configuración posible. Un+all(o unallsin cualificador restrictivo, según algunas lecturas) equivale a no tener ninguna protección.
Ante la duda sobre el estado de un dominio, nada de adivinar: verificar el registro SPF lleva unos segundos. Y para quien hace malabares entre Microsoft 365 y Google Workspace, el caso particular de la convivencia de los dos include se trata en SPF para Microsoft 365 y Google Workspace.
Un caso concreto: Microsoft 365 y Google Workspace
Tomemos una situación muy frecuente. Una empresa migra de Microsoft 365 a Google Workspace pero mantiene temporalmente ambos activos. El registro queda así:
ejemplo.es. IN TXT
"v=spf1 include:spf.protection.outlook.com include:_spf.google.com -all"
Cada uno de los dos include desencadena varias resoluciones DNS. Con dos proveedores importantes, el registro ya va por la mitad del presupuesto de 10 lookups. Añadiendo la facturación, el emailing de marketing y el soporte, el permerror acecha. Es el escenario típico en el que el aplanamiento de uno de los dos include se vuelve necesario — y donde se entiende, de forma muy concreta, por qué el límite de lookups SPF merece vigilancia antes de que muerda.
Por qué SPF por sí solo no basta
Volvamos a la distinción del principio: SPF valida el sobre (MAIL FROM / Return-Path), no el From: visible. Un atacante puede, por tanto, configurar un SPF perfecto para su propio dominio, pasar el control sin problema y mostrar el dominio de otro en el From: que el destinatario lee. SPF no ve nada: nunca miró esa dirección.
Es un límite estructural, no un bug. SPF hace exactamente aquello para lo que fue diseñado — verificar quién tiene derecho a emitir desde una IP dada para un dominio de sobre. No dice nada sobre la coherencia entre el sobre y el From: mostrado. Esa coherencia se llama alineación, y es DMARC quien la exige.
El trío completo funciona así:
- SPF — autoriza las IP emisoras (lado del sobre).
- DKIM — adjunta una firma criptográfica al mensaje, que prueba que no se ha alterado y que viene de un dominio dado.
- DMARC — vincula SPF y DKIM al
From:visible e impone la alineación, y luego dice al destinatario qué hacer en caso de fallo (none,quarantine,reject).
Dicho de otro modo, SPF es necesario pero no suficiente. Es el cimiento; DKIM añade la prueba de integridad; DMARC pone el tejado que por fin protege la dirección que lee el humano. Publicar un buen SPF sin DMARC es como cerrar una ventana dejando la puerta abierta.
La hoja de ruta SPF
Para poner un SPF limpio y duradero, el orden es este:
- Inventariar los emisores. Listar todo lo que envía en nombre del dominio: correo, marketing, facturación, soporte, aplicaciones internas. Siempre se olvida alguno — los informes DMARC ayudan a desenmascararlos.
- Publicar un registro único que empiece por
v=spf1, con uninclude:por proveedor y unip4:/ip6:por servidor propio. - Contar los lookups. Mantenerse por debajo de 10. Si el registro se pasa, aplanar los
includemás glotones. - Terminar con
-allen cuanto el inventario sea seguro (pasar por~alldurante la validación, si se prefiere la prudencia). - No publicar nunca dos registros ni
+all. - Encadenar con DKIM y luego DMARC — es el único camino hacia una verdadera protección.
Nada de esto se hace a ciegas. Una comprobación gratuita e instantánea de la postura SPF, DKIM y DMARC con nuestro analizador DMARC gratuito muestra el SPF actual, cuenta los lookups, detecta los duplicados y da una nota clara. Y a la hora de pasar de la vigilancia a la protección real, Thomas, el CISO virtual, nombra cada emisor, genera el DNS exacto para pegar e indica cuándo endurecer sin romper un solo correo legítimo.
Analizar un dominio gratis y ver en qué punto está su SPF en unos segundos.
Aplicar DMARC, en la práctica
Thomas, el CISO virtual de DMARC.com, identifica cada fuente de envío legítima, escribe los registros DNS exactos y lleva un dominio de p=none a p=reject — sin romper su correo.
Alcanzar p=reject — gratisGuías relacionadas
- Macros SPF y el mecanismo exists: ir más allá del límite de 10 búsquedas
Las macros SPF con el mecanismo exists autorizan un número ilimitado de IP en una sola resolución DNS: la única técnica que realmente sortea el límite de 10. Cómo funciona y sus contrapartidas reales.
- SPF para Microsoft 365 y Google Workspace: la configuración que funciona
Configurar SPF para Microsoft 365 y Google Workspace, por separado o juntos, sin superar el límite de 10 resoluciones. Los include correctos, las trampas y la estrategia para los terceros.
- SPF PermError: qué significa y cómo corregirlo
Un SPF PermError significa que el registro es imposible de evaluar, por lo que se ignora. Las causas (10 búsquedas, sintaxis, void lookups, doble registro), cómo diagnosticar y reparar.
Sobre el autor
Thomas — Thomas es el CISO virtual de DMARC.com: un copiloto especializado en la autenticación de correo que acompaña a las organizaciones de p=none hasta p=reject, sin romper su correo. Sus guías se basan en los datos reales del Observatorio DMARC y de los informes RUA analizados por la plataforma.
