Deliverability

¿Qué es SPF y qué hace un registro SPF?

SPF comprueba si una IP puede enviar en nombre de un dominio envelope-from o HELO, y un registro SPF publica las reglas de autorización de ese dominio en DNS.

Antes de modificar SPF, identifica el dominio que tu servicio de envío usa para su dirección envelope-from. Esa dirección recibe los rebotes y puede diferir de la dirección From que ve tu destinatario.

¿Qué dominio comprueba SPF?

SPF comprueba el dominio en SMTP MAIL FROM, la dirección envelope-from, o la identidad HELO del servidor. HELO es el nombre de host que un servidor de envío presenta al iniciar la conversación SMTP.

El receptor ya conoce la IP de conexión cuando recibe MAIL FROM, así que SPF puede ejecutarse antes de que llegue el cuerpo del mensaje. Cuando el remitente del sobre está vacío, como en MAIL FROM:<>, SPF usa la identidad HELO. RFC 7208, el estándar de SPF, también recomienda comprobar HELO por separado.

SPF no comprueba la dirección From visible. La alineación de DMARC conecta un dominio autenticado con esa dirección.

¿Cómo es un registro SPF?

Un registro SPF es un registro DNS TXT cuyo valor comienza con v=spf1, seguido de reglas de autorización.

example.com TXT "v=spf1 include:mailprovider.example ~all"

Aquí, include:mailprovider.example autoriza las IPs que pasan la política SPF de ese proveedor. ~all produce un softfail para las demás IPs. Sustituye el proveedor de ejemplo por la política que publica tu servicio de envío.

¿Qué significan los mecanismos y modificadores?

Los mecanismos comprueban la IP de conexión contra una condición. El modificador redirect delega la evaluación cuando ningún mecanismo coincide.

TérminoEfecto
ip4, ip6Coincide con una dirección o red escrita directamente en el registro.
aCoincide con una dirección devuelta para el dominio indicado, usando la familia IP de la conexión.
mxCoincide con una dirección de un intercambiador de correo del dominio indicado.
includeCoincide cuando la política referenciada devuelve pass para esta IP.
existsCoincide cuando el nombre DNS especificado tiene un registro A; las macros pueden construir ese nombre a partir de la conexión.
redirect=Evalúa la política de otro dominio cuando ningún mecanismo coincide; un mecanismo all lo hace inefectivo.
ptrComprueba nombres DNS inversos validados; no lo añadas a registros nuevos porque la consulta es lenta y poco fiable.
allCoincide con todas las IPs restantes; su calificador determina el resultado.

Los mecanismos de dirección se escriben ip4 y ip6. Una entrada ptr puede aparecer en una política más antigua, pero RFC 7208 desaconseja su uso aunque exige que los validadores lo admitan.

¿Qué cambian los calificadores de all?

El calificador establece el resultado SPF para una IP que llega a all; el receptor decide cómo manejar el mensaje.

FinalResultado
-allFail: el dominio no autoriza la IP.
~allSoftfail: el dominio considera la IP probablemente no autorizada.
?allNeutral: el dominio no hace ninguna afirmación.
+allPass para todas las IPs, eliminando la restricción que SPF proporcionaría de otro modo.

¿Cómo se evalúan los registros de ejemplo?

Cada ejemplo a continuación ilustra una política independiente. Las IPs y dominios son ejemplos de documentación, no valores para publicar en tu remitente.

RegistroQué autoriza
v=spf1 mx ip4:192.0.2.10 ip4:198.51.100.0/24 ~allLos intercambiadores de correo del dominio, una IP y la red indicada; las demás IPs producen softfail.
v=spf1 a ip4:192.0.2.0/25 ip4:198.51.100.0/26 -allLos registros de dirección del dominio y dos redes; las demás IPs producen fail.
v=spf1 -allNinguna IP; cualquier intento de usar este dominio produce fail en SPF.
v=spf1 +allTodas las IPs, por lo que no impone ninguna restricción de envío.
v=spf1 redirect=_spf.example.comLo que autorice la política en _spf.example.com.
v=spf1 exists:%{i}._spf.example.com ~allLas IPs cuyo nombre de consulta expandido devuelve un registro A; las demás IPs producen softfail.

En el ejemplo de exists, una conexión desde 192.0.2.10 genera el nombre de consulta 192.0.2.10._spf.example.com. Debes operar los registros DNS que hacen funcionar esa política; el patrón no autoriza a un proveedor por sí solo.

¿Cuántas consultas DNS puede usar SPF?

SPF permite diez términos evaluados que consultan DNS en el conjunto de la política y las evaluaciones anidadas. Un undécimo produce permerror, así que añadir otro proveedor puede romper la evaluación en lugar de autorizarlo.

Los términos que se cuentan son include, a, mx, ptr, exists y redirect. Los términos literales ip4, ip6 y all no consumen esa cuota. Se cuentan términos, no simplemente cada paquete DNS. El CNAME de return-path proporciona la autorización SPF de Bird sin añadir un include en el ápex.

¿Por qué puede fallar SPF en correo reenviado?

Un reenviador o lista de correo puede reenviar correo legítimo desde una IP que el dominio envelope-from original no autoriza. Por ejemplo, un buzón de exalumnos que reenvía a un buzón personal cambia el servidor de conexión que ve el receptor final.

Si la dirección envelope-from no cambia, SPF evalúa ese nuevo servidor contra la política del dominio original. Un reenviador puede reescribir la dirección envelope-from usando Sender Rewriting Scheme (SRS) para autenticar su propio dominio. Eso por sí solo no alinea SPF con la dirección From visible original.

Una firma DKIM intacta y alineada aún puede proporcionar un pass de DMARC. La autenticación no establece que un mensaje sea deseado ni garantiza la llegada a la bandeja de entrada.

¿Qué debes publicar para Bird?

Publica el CNAME de return-path proporcionado para tu dominio de envío. Apunta a la infraestructura de rebotes de Bird, que ya proporciona la autorización SPF. No necesitas un include SPF adicional en tu dominio ápex para enviar a través de Bird.

Mantén sin cambios un registro SPF de ápex existente para otros remitentes. Copia el dns_records del dominio. Verifica capabilities.return_path.status; comprueba capabilities.sending.status para confirmar que todo está listo en todos los requisitos de envío. Ambos campos de estado usan estos valores:

EstadoSignificado y acción
pendingLa verificación no se ha ejecutado o está en curso; espera su resultado.
verifiedLos registros DNS de la capacidad coinciden con los valores esperados.
warningLos registros verificados anteriormente ya no coinciden; corrígelos antes de que termine el período de gracia. El envío aún no se ve afectado.
failedUn valor DNS es incorrecto; corrígelo.
temporary_failureUna consulta DNS falló de forma transitoria; la verificación reintenta automáticamente.
not_configuredLa capacidad no está configurada para este dominio.

Verifica DKIM, return-path y DMARC antes de enviar. Puedes cambiar el hostname del return-path. Si un valor DNS TXT necesita varias cadenas entrecomilladas, el divisor de registros DNS formatea esas cadenas sin modificar la cuota de consultas de SPF.

Ponlo en práctica.

Continúa con la documentación, guías y ejemplos sobre este tema. Los recursos están en inglés.

Obtener un resumen de implementación

Construye sobre la misma red.

Obtén una clave API de prueba de inmediato. El acceso a producción se desbloquea cuando añades un método de pago y verificas un remitente.

Empieza con un canal.
Añade los demás cuando estés listo.

Una clave API de prueba es tuya de inmediato. El acceso a producción se desbloquea cuando añades un método de pago y verificas un remitente.

¿Usas Claude Code, Cursor o Codex? Copia un prompt de configuración y tu agente instalará el Bird CLI y las habilidades por ti. Elige el tuyo:

Cursor