El Sender Policy Framework (SPF) es una técnica esencial en la lucha contra el correo no deseado y el phishing. Permite a los propietarios de dominios especificar qué servidores de correo electrónico están autorizados para enviar correos en nombre de su dominio. En este artículo, exploraremos en detalle cómo configurar una entrada SPF1 en un registro DNS.

En este caso tengo un dominio registrado en DNSimple, pero gestiono el correo en Dreamhost. El problema que experimenté fue que podía recibir mensajes en mi correo, pero no podía enviar mensajes a cuentas de Gmail. El mensaje de error era el siguiente:

Final-Recipient: rfc822; correo-destino@gmail.com
Original-Recipient: rfc822;correo-destino@gmail.com
Action: failed
Status: 5.7.26
Remote-MTA: dns; gmail-smtp-in.l.google.com
Diagnostic-Code: smtp; 550-5.7.26 This mail is unauthenticated, which poses a
    security risk to the 550-5.7.26 sender and Gmail users, and has been
    blocked. The sender must 550-5.7.26 authenticate with at least one of SPF
    or DKIM. For this message, 550-5.7.26 DKIM checks did not pass and SPF
    check for [ecodig.com] did not pass 550-5.7.26 with ip: [xx.xx.xx.xx]. The
    sender should visit 550-5.7.26
    https://support.google.com/mail/answer/81126#authentication for 550 5.7.26
    instructions on setting up authentication.
    j10-20020a17090a734a00b002680e08a877si9064803pjs.186 - gsmtp

¿Qué es una Entrada SPF?

Una entrada SPF es una parte fundamental del registro DNS de un dominio que indica qué servidores de correo electrónico tienen permiso para enviar correos electrónicos en nombre de ese dominio. Estas entradas son texto enriquecido con información sobre las direcciones IP o nombres de dominio de los servidores autorizados.

La configuración final quedó así:

v=spf1 include:dreamhost.com include:netblocks.dreamhost.com include:_spf.google.com ~all

Para resolver mi problema, tuve que añadir esta entrada en DNSimple, donde se gestiona el dominio. Cometí varios errores. Si te fijas, la configuración maneja el acceso para tres seridores. Por lo tanto, no es necesario crear 3 entradas TXT para cada uno. Incluso, esto puede deshabilitar por completo la verificación.

En el caso de DNSimple, con solo crear el registro SPF es suficiente, ya que ellos añaden automáticamente la entrada TXT.