Configuración de registros SPF Y DKIM

Los registros SPF y DKIM son necesarios sobre todo para poder enviar boletines automáticos o programados, y que dichos emails lleguen a sus destinatarios sin ser considerados SPAM (es muy fácil acabar en la bandeja de correo no deseado).

 

 

 

1. ¿Qué son los registros SPF y DKIM?

 
Los registros SPF y DKIM son los pasos más importantes de la configuración de un servidor de correo SMTP;
 


Los registros SPF y DKIM sirven para que nuestros emails no sean catalogados como SPAM.
No solo sirven para el envío de newsletters, sino que afectarán a todos los mails enviados desde un dominio.
 


Por tanto, es fundamental añadir un registro SPF y un registro DKIM correctamente configurados, a través de nuestro proveedor de DNS (el hosting normalmente, aunque pueden utilizarse otros servicios de terceros) para poder utilizar cualquier servidor SMTP externo.

 

 

2. SPF (Sender Policy Framework)

 
El protocolo SPF es uno de los más utilizados en la lucha contra el SPAM. Evita la suplantación de identidad. También reduce el riesgo de que los servidores de correo nos clasifiquen como SPAM.
 
Podemos comprobar si disponemos de un registro SPF en nuestro dominio con la herramienta de testeo de registros SPF:

Herramienta de testeo de registros SPF

 

Si existe algún registro SPF válido, el resultado será parecido a este:

SPF record passed validation test with pySPF:

Registros SPF evaluados 

 

 

2.1 Crear Registro SPF para tu dominio

 
Hemos de conocer las direcciones IP utilizadas para enviar correos, y también los dominios utilizados para enviar esos correos.

–> Después creamos un registro SPF en nuestro panel de registros DNS del dominio:

 
y construimos el registro así:

1
v=spf1 ip4:212.81.93.72/31 a mx ~all

 

Significado de la Sintáxis para construir el registro SPF
  • v define la versión usada de SPF (versión 1 o versión 2).
  • a registro A del DNS del dominio
  • IP4 direcciones IP de la v4
  • IP6 direcciones IP de la v6
  • ~all desautoriza a las máquinas que no encajen en lo autorizado explícitamente

 

–> Este otro sería un ejemplo para un registro SPF de la versión 2:

1
v=spf2.0/pra include:eltallerdelbit1.ip-zone.com +a +mx +ip4:37.147.147.197 +ip4:5.52.20.200 +ip4:93.159.208.19 +ip4:91.154.210.2 +ip4:82.95.210.47 +ip4:140.84.29.208 ~all

 

 

3. DKIM (DomainKeys Identified Email)

 
El registro DKIM (DomainKeys Identified Email) consta de dos claves, una clave pública y otra privada. La clave pública se crea en el DNS del dominio del remitente, mientras que la clave privada será utilizada por  el servidor SMTP utilizado para firmar digitalmente los emails enviados.
 
Cuando un cliente envía un email a traves del servidor de correo SMTP, la plataforma genera la firma en tiempo real mediante la clave privada y la añade a los encabezados del email enviado. El servidor del destinatario comprueba la firma del email mediante la clave pública que hay en el DNS del remitente, con lo que verifica la autenticidad de la firma y la autorización correspondiente.
 
Los registros SPF y DKIM se utilizan conjuntamente con servidores de correo SMTP externos, muy útiles para páginas web que requieran de este tipo de servicios. (Por norma general los proveedores de hosting aplican restricciones a los servicios de correo, por lo cual se hace necesario la contratación de los planes de servicios de correo que ofrecen, o en su caso la contratación de servidores de correo externos, que suelen ser plataformas totalmente especializadas en los servicios de envío de emails. )

 

Algunos de estos proveedores de servicios de correo SMTP externo pueden ser:

Mailchimp

MailRelay

Mandrill

Una combinación interesante es utilizar Cloudfare para acelerar la carga de la web, además de los plugins de caché que uno prefiera. En este caso, los registros DNS deben ser modificados para añadir el SPF y el DKIM.

 
Al utilizar cualquiera de los servicios SMTP que anteriormente he mencionado, recibimos los registros necesarios para verificar el SPF y el DKIM.
 

 

3.1 ¿Cómo crear registros DKIM?

 
Para crear un registro DKIM rápidamente podemos utilizar DKIMCore.org, y en la sección de herramientas (tools), encontraremos la utilidad para generar registros DKIM:
 
generar registro DKIM para el mail

 

Podemos ver que aparece un cuadro en el que podemos insertar nuestro dominio. Cuando pongamos ahí nuestro dominio,y pulsemos sobre “Generate“, recibiremos la clave que hemos de añadir en nuestro registro DNS, junto con el selector adecuado:


 
El selector en este caso es: 1555245838.midominio

*** Y la clave pública DKIM ha de colocarse sin espacios. Así que debemos editar el texto y quitar los espacios, las comillas, y los paréntesis:
 
Originalmente tenemos esto:

1
2
3
4
5
1555245838.midominio._domainkey.dominio. IN TXT (
        "v=DKIM1;t=s;p=MPGfMA0GCDqGSIb3AQEBAQUAA4GNADCBiQKBgQDIu60p1T12MVdK8GJAbUhH13A2"
        "s1Ux7eGVgYfYe10Ze2CBevSAglDjVlSO5A43R3KbByCahK4fEOMlIx54ON/INXje"
        "6O1g4tkn1StLFCjhlqMzYxLpzEnrVBF8pBakjAQ1tiYp+7w+fJBQROjMRTR8pQF8"
        "hkJ2PQN12uZW8Har1wIDAQBA")

 

*** Y al editar la clave pública,  aparecerá como un código muy largo, así:

1
MPGfMA0GCDqGSIb3AQEBAQUAA4GNADCBiQKBgQDIu60p1T12MVdK8GJAbUhH13A2s1Ux7eGVgYfYe10Ze2CBevSAglDjVlSO5A43R3KbByCahK4fEOMlIx54ON/INXje6O1g4tkn1StLFCjhlqMzYxLpzEnrVBF8pBakjAQ1tiYp+7w+fJBQROjMRTR8pQF8hkJ2PQN12uZW8Har1wIDAQBA

Eso era la clave, ahora debemos añadir previamente los campos Version y Flags (otros campos necesarios), y luego la clave pública, separando cada campo con punto y coma:

–> Version
v=DKIM1
 
–> Flags
t=s
 
–> Public key

MOGfMA1GCSqYSIb3CAEABQUAB4GNADCBiQKBgQDMrMgF1uP0VVFVeS1KFL00zyFu5UQD0nmudA3XIH1BGYQW1Q8Ra38cclZFc4flHrgXly1PdXIwBvQCLmWkSKzZxiBPPNSDdFbRMpL8kjy63/lQC/j5cAUa3sjkKtBCesk3ubYdUE8WX/IXPM81RfeazvR+aKrbq7NbMYM0Iud9pwITAQHB
 
Finalmente el registro DKIM correcto debería quedar así:

1
v=DKIM1;t=s;p=MOGfMA1GCSqYSIb3CAEABQUAB4GNADCBiQKBgQDMrMgF1uP0VVFVeS1KFL00zyFu5UQD0nmudA3XIH1BGYQW1Q8Ra38cclZFc4flHrgXly1PdXIwBvQCLmWkSKzZxiBPPNSDdFbRMpL8kjy63/lQC/j5cAUa3sjkKtBCesk3ubYdUE8WX/IXPM81RfeazvR+aKrbq7NbMYM0Iud9pwITAQHB

 

 

3.2 Colocar un registro DKIM en nuestro panel DNS

 

Crearemos un registro .TXT en nuestro panel DNS, cuyo nombre en este caso debería ser el selector que la página de DKIMcore.org nos ha suministrado, más la coletilla _domainkey, o sea: 1555245838.dominio._domainkey, y con el contenido de la clave pública que previamente nos ha suministrado, pero editado, quedando finalmente de esta forma:

Selector:

1
1555245838.dominio._domainkey

 

Valor:

1
v=DKIM1;t=s;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMrMgF1uP0VVFVeS1KFL00zyFu5UQD0nmudA3XIH1BGYQW1Q8Ra38cclZFc4flHrgXly1PdXIwBvQCLmWkSKzZxiBPPNSDdFbRMpL8kjy63/lQC/j5cAUa3sjkKtBCesk3ubYdUW8WX/IXPM81RfeazvR+aKrbq7NbRYM0Iud9pwIDAQAB;

 

También es muy común que los selectores de DKIM se llamen así:

1
default._domainkey

o

1
dkim._domainkey

 

Y en nuestro panel de registros DNS del dominio, podría quedar algo así:


 

 

3.3 Chequear un registro DKIM

 

Podemos chequear la validez del registro en https://dkimcore.org/c/keycheck

En este caso estamos chequeando un registro DKIM cuyo selector era dkim , y la Entrada DNS / DNS Record era dkim._domainkey

 

 

 

4. CONFIGURAR REGISTROS SPF Y DKIM con servidores de correo de terceros (por ejemplo Mailchimp, Mandrill, MailRelay … etc)

 

Entramos en nuestro panel de registros DNS, nos vamos a DNS Settings, y añadiremos los registros SPF y DKIM.

Algunos paneles DNS de diferentes hosting ya suelen tener configurado un registro SPF, peroviene bien revisarlo. Y si usamos Cloudfare, tendremos que añadir en Cloudfare dicho registro SPF, porque sino tendremos problemas con la firma SPF ya que los servidores DNS de Cloudfare actuan en lugar de los DNS originales que teníamos en nuestro hosting.
 

DNS Settings en Cloudfare

 

 

Vamos a añadir primero el registro DKIM

 

Si estamos usando un servicio de mailing de terceros, como por ejemplo Mandrill, copiamos los datos de verificación DKIM (cada proveedor de servicios de Mail nos facilitará los datos necesarios que hemos de añadir a nuestros registros DNS).
 

Ahora hemos de añadir un nuevo registro TXT  en nuestro panel de registros DNS.

El nombre de dicho registro TXT , en este caso debe ser mandrill._domainkey.midominio.com

Y el valor ha de ser la configuración copiada del proveedor de servicios de mailing.

 

Ahora hemos de añadir el registro SPF en nuestro panel de registros DNS.

Valores registro SPF Mandrill

 

Comprobamos la configuración necesaria del SPF en Mandrill, y lo copiamos para añadirlo al nuevo registro de Cloudfare:

 

El registro SPF contendrá seguramente lo siguiente (no te preocupes, simplemente copia lo que tu proveedor de servicios de mailing te muestre):
 

1
v=spf1 a mx ip4:DIRECCIÓNIP ip4: DIRECCIÓNIP include:spf.mandrillapp.com ~all


 
Si ya tenemos un registro SPF, debemos añadir los servidores de nuestro proveedor de servicios de mailing a dicho registro añadiendo  include:spf.mandrillapp.com  (antes del último operador, que suele ser ?all,~all, o -all)

El nombre de dicho registro TXT debe ser midominio.com (en mi caso, eltallerdelbit.com)

El valor del registro será el valor recogido de la configuración de Mandrill:
Agregar registro DKIM en Cloudfare
 

Hecho esto, verificamos en nuestro proveedor de servicios de mailing la correcta instalación de los registros SPF y DKIM en las DNS de nuestro dominio. Si todo es correcto, veremos la señal verde que indica éxito en la verificación del dominio.

 

¿Quieres saber más?

Si estás interesado en saber más acerca de cómo configurar correctamente un servidor externo de correo SMTP y en configurar correctamente tus campañas de Mail Marketing, puedes encontrar más info aquí:

 

Mail Marketing completo con WordPress | Servidor de Correo