Un registro es una entrada TXT como v=spf1 ip4:192.0.2.0/24 include:_spf.example.net mx -all. Los mecanismos (ip4, ip6, a, mx, include, exists, ptr, all) se evalúan de izquierda a derecha con los calificadores + (pass, el predeterminado), - (fail), ~ (softfail) y ? (neutral); redirect= cede la evaluación a otro dominio. Los resultados son pass, fail, softfail, neutral, none, temperror y permerror.
SPF comprueba el remitente del sobre (RFC5321.MailFrom, la dirección de rebote), no el encabezado From que ve el usuario, así que por sí solo no impide la suplantación del remitente visible; DMARC exige que el dominio del sobre esté alineado con From. El reenvío rompe SPF porque la IP del reenviador no está en el registro del dominio original, salvo que el reenviador reescriba el sobre (SRS).
La evaluación puede desencadenar como máximo 10 términos que consultan el DNS (RFC 7208 §4.6.4), un límite que las largas cadenas de include de los remitentes SaaS superan a menudo, lo que produce permerror. Un dominio debería publicar exactamente un registro SPF; dos registros también son un permerror.