Autenticación de Correo Electrónico, De Principio a Fin: SPF, DKIM y DMARC Con Configuración Real
Cada correo que envías hace una afirmación: “Tengo permiso para enviar en nombre de este dominio.” SPF, DKIM y DMARC son los tres registros DNS que permiten a los servidores receptores verificar esa afirmación. Si los configuras correctamente, tu correo llega a la bandeja de entrada; si los configuras incorrectamente o los omites, Gmail, Yahoo y Outlook cada vez más los envían a spam o los rechazan directamente.
Desde 2024, Gmail y Yahoo requieren SPF, DKIM, y una política DMARC para remitentes masivos. Esta es la guía práctica y lista para copiar-pegar sobre cómo configurar los tres correctamente, verificarlos desde la línea de comandos e implementar una política DMARC sin romper tu correo existente.
Si primero quieres el contexto conceptual sobre cada uno, consulta ¿Qué es DKIM?, ¿Qué es un registro SPF? y ¿Qué es DMARC?. Este artículo es el complemento práctico de esos tres.
El modelo mental de 90 segundos
Los tres registros responden tres preguntas diferentes sobre un mensaje:
- SPF — “¿Este servidor tiene permiso para enviar desde este dominio?” Un registro DNS
TXTque enumera los servidores/servicios autorizados para enviar. Se verifica contra el envelope-from (Return-Path), no contra el From: visible. - DKIM — “¿El dominio realmente autorizó este mensaje y llegó sin modificaciones?” El remitente firma criptográficamente cada mensaje; la clave pública vive en DNS. Una firma válida prueba autenticidad e integridad.
- DMARC — “¿Qué debo hacer si SPF o DKIM falla, y dónde reporto?” Un registro de política que vincula SPF y DKIM al dominio From: visible (este vínculo se llama alineación), indica a los receptores si poner en cuarentena o rechazar fallos, y solicita reportes.
SPF y DKIM hacen la verificación; DMARC convierte esas verificaciones en una política y te da visibilidad. Necesitas los tres.
SPF: autoriza tus remitentes
SPF es un único registro TXT en el dominio que aparece en tu envelope-from. Si envías a través de MailerToGo desde mtg.yourdomain.com:
mtg.yourdomain.com. TXT "v=spf1 include:_spf.mailertogo.net ~all"
include:_spf.mailertogo.netincorpora las IPs de envío autorizadas de MailerToGo (gestionadas y mantenidas actuales por nosotros — nunca codifiques IPs manualmente).~alles un softfail (marcar pero aceptar remitentes no autorizados); restringe a-all(hardfail) una vez que estés seguro de que todo remitente legítimo está listado.
Dos reglas que confunden a la gente:
- Un registro SPF por dominio. Nunca publiques dos registros
v=spf1en el mismo nombre — eso es un permerror y SPF falla. Combínalos en uno:"v=spf1 include:_spf.mailertogo.net include:_spf.google.com ~all". - El límite de 10 búsquedas. SPF permite como máximo 10 búsquedas DNS al evaluar. Cada
include:cuenta. Apilar tu ESP, Google, Microsoft y MailerToGo en un único registro raíz puede exceder ese límite y romper SPF para todo — que es una gran razón para enviar correo de aplicación desde un subdominio dedicado. (Consulta Por qué MailerToGo envía desde mtg.yourdomain.com.)
DKIM: firma cada mensaje
DKIM firma cada mensaje con una clave privada; los receptores obtienen la clave pública correspondiente de DNS. Con MailerToGo no generas ni pegas claves — publicas un CNAME que apunta un selector específico de tu cuenta a nuestra clave, y nosotros rotamos la clave subyacente por ti:
; El selector es específico de tu cuenta — usa el valor exacto de tu panel
mtg1._domainkey.mtg.yourdomain.com. CNAME mtg1.dkim.mailertogo.net.
Porque es un CNAME a un registro que controlamos, la rotación de clave es automática: cuando rotamos la clave, la clave pública publicada cambia en nuestro lado y tu DNS no necesita ediciones. Si alguna vez inspeccionas el registro resuelto, verás una clave pública DKIM estándar:
mtg1._domainkey.mtg.yourdomain.com. TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSq...QAB"
Una firma DKIM válida también es lo que hace que tu correo sobreviva al reenvío, donde SPF a menudo falla — entonces DKIM es la señal de autenticación más duradera de las dos.
DMARC: establece una política y obtén reportes
DMARC vive en un nombre fijo, _dmarc.<domain>, y vincula los resultados SPF/DKIM al dominio From: visible. Comienza en modo monitor para que aprendas qué está realmente enviándose antes de reforzar nada:
_dmarc.yourdomain.com. TXT "v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com; fo=1; adkim=s; aspf=s"
Etiqueta por etiqueta:
p=none— solo monitoreo; no tomes acción en fallos (aún).rua=mailto:...— envía reportes agregados aquí (resúmenes XML diarios de quién está enviando como tú). Este es el punto entero de comenzar ennone— obtienes visibilidad sin riesgo alguno.fo=1— solicita detalles de fallo cuando *SPF o DKIM falla.adkim=s/aspf=s— alineación estricta (el dominio de firma/envelope debe coincidir exactamente con el dominio From:). Usa relajada (r, la predeterminada) si firmas con un dominio padre.- Añade
sp=para establecer una política separada para subdominios si lo necesitas.
La alineación DMARC es la parte sutil: no es suficiente que SPF o DKIM pasen — el dominio para el que pasan debe alinearse con el dominio en el From: visible. Este es el motivo por el que la arquitectura de envío importa, y por qué un subdominio que controlas completamente hace que la alineación sea sencilla.
Verifica todo desde la línea de comandos
Nunca asumas que un registro está en vivo — verifica. dig (o nslookup en Windows) te muestra exactamente lo que los resolutores ven:
# SPF — espera una única línea v=spf1
dig +short TXT mtg.yourdomain.com
# DKIM — sigue el CNAME a la clave publicada
dig +short CNAME mtg1._domainkey.mtg.yourdomain.com
dig +short TXT mtg1._domainkey.mtg.yourdomain.com
# DMARC — siempre en _dmarc.<domain>
dig +short TXT _dmarc.yourdomain.com
Luego envíate un mensaje real y lee los recibos. En Gmail, abre el mensaje → ⋮ → Mostrar original. Quieres ver:
SPF: PASS with domain mtg.yourdomain.com
DKIM: PASS with domain mtg.yourdomain.com
DMARC: PASS
Si los tres dicen PASS con un dominio alineado, terminaste.
Implementa la refuerzo DMARC sin romper correo
El error que derriba el correo legítimo es saltar directamente a p=reject. En cambio, aumenta gradualmente, observando tus reportes rua en cada paso:
p=none— monitorea durante 1–2 semanas. Lee los reportes agregados; confirma que cada remitente legítimo está pasando y alineado.p=quarantine; pct=25→ aumenta gradualmentepcthacia 100. Los fallos van a spam, no al vacío, entonces los errores son recuperables.p=reject— refuerzo completo. Solo llega aquí una vez que tus reportes están limpios. Este es el nivel que Gmail/Yahoo recompensan y que detiene la suplantación de dominio exacto.
Fallos comunes y qué significan
- SPF permerror / “demasiadas búsquedas DNS” — superaste 10 búsquedas. Consolida includes o mueve correo de aplicación a un subdominio.
- Dos registros SPF — combina en una única cadena
v=spf1. - DKIM “body hash did not verify” — algo modificó el mensaje en tránsito (pie de lista de distribución, escáner). DKIM está funcionando; el contenido cambió después de firmar.
- DMARC falla aunque SPF/DKIM pasen — un problema de alineación: el dominio que pasa no coincide con el dominio From:. Verifica que tu envelope-from/dominio DKIM y tu From: compartan un dominio organizativo.
La versión corta, y cómo MailerToGo ayuda
SPF dice quién puede enviar, DKIM prueba que el mensaje es genuino e inmodificado, y DMARC vincula ambos a tu dominio visible y dice a los receptores qué hacer. Configura los tres, verifica con dig y el Mostrar original de Gmail, e implementa DMARC desde none → quarantine → reject.
Con MailerToGo, la clave DKIM y su rotación se manejan por ti, y tu panel muestra los registros SPF/DKIM/DMARC exactos a publicar. Si usas el subdominio delegado mtg.yourdomain.com, publicamos y mantenemos todos ellos desde un único registro NS — sin DNS manual alguno. ¿Prefieres poseer los registros tú mismo? La guía de configuración de subdominio manual te guía a través de la configuración de la aplicación (envelope-from vs. From:) paso a paso.
Para los estándares subyacentes, MailerToGo también mantiene referencias en inglés simple para SPF, DKIM, DMARC, y cómo encajan juntos.