Por qué el correo los necesita
Esta es la verdad incómoda sobre el correo electrónico: se diseñó a principios de los años 80 para una pequeña red de personas que se fiaban unas de otras. Tal cual viene, cualquiera puede enviar un correo que diga que es de [email protected]. No hay nada en el protocolo básico que lo impida.
SPF, DKIM y DMARC se añadieron más tarde para arreglarlo. Juntos permiten al servidor que recibe el correo, como Gmail, Outlook o Yahoo, responder a una pregunta: ¿este correo viene de verdad del dominio que dice? Si la respuesta es no, el correo acaba en spam o se rechaza. Y si tu propio dominio no los tiene configurados, tus correos legítimos pueden tratarse como falsos.
Una comparación rápida ayuda:
- SPF es la lista de invitados: qué servidores pueden enviar correo en nombre de tu dominio.
- DKIM es el sello de lacre: una firma que demuestra que el correo no se modificó por el camino.
- DMARC son las instrucciones para el portero: qué hacer cuando un correo no pasa las comprobaciones y a quién avisar.
SPF: la lista de invitados
SPF (Sender Policy Framework) es una única línea de texto que publicas en el DNS de tu dominio. En ella aparecen los servidores y servicios que pueden enviar correo en tu nombre. Cuando Gmail recibe un correo de tu dominio, consulta esa lista y comprueba si el servidor que lo envió está en ella.
Un registro SPF típico tiene este aspecto:
v=spf1 include:_spf.google.com include:sendgrid.net ~allLeyéndolo de izquierda a derecha:
v=spf1: «esto es un registro SPF».include:_spf.google.com: Google Workspace puede enviar en mi nombre.include:sendgrid.net: SendGrid también (por ejemplo, para los correos de mi app).~all: todo lo demás probablemente no soy yo, así que trátalo con desconfianza. (-allsignifica «seguro que no soy yo, recházalo».)
Además, hay un límite de 10 consultas DNS dentro de un mismo registro SPF. Cada include: cuenta, y también los includes que haya dentro de ellos. Si usas muchos servicios, puedes pasarte del límite sin darte cuenta, y entonces SPF falla para todo el mundo.
DKIM: el sello de lacre
SPF comprueba desde dónde llegó un correo. DKIM (DomainKeys Identified Mail) comprueba que el propio correo no se manipuló. Tu servicio de correo firma cada mensaje saliente con una clave privada que solo él conoce. Tú publicas la clave pública correspondiente en tu DNS, y el servidor que recibe el correo la usa para comprobar la firma.
Si alguien cambió el correo por el camino, aunque sea una sola palabra del cuerpo, la firma deja de coincidir. Es como el sello de lacre de una carta antigua: si el sello está roto, sabes que alguien la ha abierto.
Un registro DKIM se publica con un nombre especial, por ejemplo google._domainkey.yourdomain.com, y su valor se parece más o menos a esto:
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1...La buena noticia: nunca lo escribes tú. Tu proveedor de correo lo genera y tú solo lo copias en tu DNS. La palabra que va antes de ._domainkey (aquí google) se llama selector. Sirve simplemente para que puedas tener varias claves, una por servicio.
DMARC: las instrucciones para el portero
SPF y DKIM le dan datos al servidor que recibe el correo. DMARC (Domain-based Message Authentication, Reporting and Conformance) le dice qué hacer con esos datos. Además, añade una regla importante llamada alineación: el dominio que pasa SPF o DKIM tiene que coincidir con el dominio que el lector ve de verdad en la línea «De». Sin esa regla, un estafador podría pasar SPF con su propio dominio mientras muestra el tuyo.
Un registro DMARC vive en _dmarc.yourdomain.com y tiene este aspecto:
v=DMARC1; p=none; rua=mailto:[email protected]p=none: solo observar, sin bloquear nada todavía. Perfecto para empezar.p=quarantine: mandar a spam los correos que fallen.p=reject: rechazar por completo los correos que fallen. La protección más fuerte.rua=mailto:...: adónde deben enviarte los receptores los informes resumen diarios.
Esos informes son la joya escondida. Te muestran todos los servidores que envían correo usando tu dominio, incluidos servicios de los que te habías olvidado y cualquiera que intente hacerse pasar por ti.
Cómo configurarlos, paso a paso
Pongamos que tienes myshop.com, usas Google Workspace para tu buzón y un servicio como SendGrid o Mailgun para las confirmaciones de pedido. Este es el orden en el que yo lo haría:
- Haz una lista de todo lo que envía correo con tu dominio: tu proveedor de correo, tu web o app, la herramienta de newsletters, el sistema de soporte, el programa de facturación. Este es el paso que la gente se salta, y el que más problemas da después.
- Crea un único registro SPF en tu DNS (un registro TXT en
myshop.com) que los incluya a todos y que termine en~all. - Activa DKIM en cada servicio. Cada uno te da un registro para copiar en el DNS. Luego pulsa «verificar» o «empezar a autenticar» en ese servicio.
- Añade un registro DMARC con
p=noney una dirección para los informes, en_dmarc.myshop.com. - Espera una o dos semanas y lee los informes. Arregla todo lo legítimo que esté fallando.
- Endurece la política a
p=quarantine, y más adelante ap=reject, cuando tengas claro que todo tu correo real pasa las comprobaciones.
Cómo comprobarlos en cualquier correo que recibas
No necesitas ninguna herramienta. Tu app de correo ya te muestra los resultados:
- Gmail: abre el correo, haz clic en los tres puntos y luego en Mostrar original. Arriba verás líneas como
SPF: PASS,DKIM: PASSyDMARC: PASS. - Outlook: abre el mensaje, luego View y View message details (o Message source), y busca la cabecera
Authentication-Results. - Apple Mail: View, luego Message y después All Headers.
Una cabecera real se parece a esto:
Authentication-Results: mx.google.com;
dkim=pass header.d=myshop.com;
spf=pass smtp.mailfrom=myshop.com;
dmarc=pass (p=QUARANTINE) header.from=myshop.comTres «pass» y dominios que coinciden: ese correo es auténtico. Si ves fail, o los dominios no coinciden con el remitente que ves, ten cuidado. Es una de las señales de alarma que cuento en cómo detectar un correo de phishing.
Si estás configurando tu propio dominio, una forma rápida de probarlo es enviar un correo a una bandeja de entrada temporal y a una dirección de Gmail, y luego revisar las cabeceras de la copia de Gmail. Te lleva dos minutos y te enseña exactamente lo que ve el resto del mundo.
Problemas habituales y soluciones rápidas
- «SPF: softfail» o «neutral»: el servidor que envió el correo no está en tu registro SPF. Añade el servicio con el
include:que te indique. - «SPF permerror»: normalmente hay dos registros SPF o más de 10 consultas. Fusiónalos en un solo registro y quita los servicios que ya no uses.
- «DKIM: fail» después de editar una plantilla: algo modificó el correo después de firmarlo (algunos servicios de reenvío y pies de correo lo hacen). Envíalo directamente y vuelve a probar.
- DMARC falla aunque SPF pase: es la alineación. SPF pasó para el dominio de tu servicio de envío, no para el tuyo. Activa DKIM con tu propio dominio en ese servicio, o configura un dominio de return-path personalizado.
- Los correos siguen yendo a spam aunque todo pase: la autenticación demuestra quién eres, no que la gente quiera tus correos. El contenido, la reputación de envío y la tasa de quejas también cuentan. Hablo más de eso en por qué los correos de tu app acaban en spam.
¿De verdad necesitas los tres?
Sí. Desde 2024, Gmail y Yahoo exigen SPF, DKIM y un registro DMARC a quien envíe correo en grandes volúmenes, e incluso los remitentes pequeños consiguen una entrega mucho mejor con los tres configurados. Y lo más importante: DMARC con p=reject es lo que impide que los estafadores envíen correos falsos en tu nombre a tus propios clientes.
Configurarlo te lleva una tarde. A partir de ahí, protege tu dominio en silencio todos los días. Si tienes un dominio y llevas tiempo dejándolo para otro día, esta es tu señal. Empieza hoy con p=none. Ya lo endurecerás más adelante.