SPF, DKIM y DMARC para Microsoft 365.
Microsoft 365 (Exchange Online) no autentica tu dominio con un único asistente como hace un ESP alojado: reparte el trabajo entre dos consolas. El SPF es un auténtico include compartido (include:spf.protection.outlook.com) que fusionas en el único registro SPF TXT de tu dominio, y el DKIM son dos registros CNAME de «selector» que publicas y luego activas en el portal de Microsoft Defender. El DMARC es un tercer registro, independiente, que Microsoft nunca crea por ti. Alinea los tres y Exchange Online enviará totalmente autenticado como tu propio dominio, en lugar de apoyarse en la firma predeterminada de onmicrosoft.com.
¿Por qué autenticar Microsoft 365?
Autenticar un dominio de Microsoft 365 decide si tu correo llega a la bandeja de entrada, y M365 tiene una trampa concreta que rompe el DMARC de forma silenciosa. Desde febrero de 2024, Gmail y Yahoo exigen que todo remitente masivo (aproximadamente más de 5.000 mensajes al día) supere SPF, DKIM y DMARC con alineación, y a partir de mayo de 2025 el propio Microsoft empezó a aplicar lo mismo al correo de alto volumen dirigido a Outlook.com/Hotmail/Live, así que el correo comercial que aterriza en bandejas de entrada de Microsoft para consumidores también tiene que autenticarse. El detalle exclusivo de M365: de fábrica, Exchange Online firma con DKIM tu correo saliente usando el dominio onmicrosoft.com del inquilino (d=contoso.onmicrosoft.com), que no se alinea con tu dominio De personalizado (contoso.com). El SPF de Microsoft sí se alinea, así que el correo directo puede arañar un aprobado de DMARC solo con SPF, pero en cuanto un mensaje se reenvía (listas de correo, reglas .forward, pasarelas de filtrado) el SPF se rompe, y como el DKIM está firmando con el dominio equivocado no queda nada que sostenga el DMARC. Configurar el DKIM de dominio personalizado es lo que cierra esa brecha y permite que la reputación de envío que construyes se acumule en tu propio dominio.
La realidad del SPF con Microsoft 365
Microsoft 365 es un auténtico proveedor de tipo «include»: a diferencia de los ESP con delegación por CNAME (Mailchimp, Klaviyo) o de los remitentes por cuenta (Amazon SES), hay un único include compartido real que añades a tu SPF raíz: include:spf.protection.outlook.com. Publícalo dentro de un único registro SPF TXT en el dominio, p. ej. v=spf1 include:spf.protection.outlook.com -all. Dos cosas hacen que el SPF de M365 se comporte inusualmente bien. Primero, el include se resuelve a un registro plano que contiene solo rangos ip4:/ip6: y su propio -all —sin includes anidados—, así que cuesta solo UNA de tus 10 consultas DNS de SPF (un mito común dice 2–3; el registro real no tiene sub-includes). Segundo, como Exchange Online usa tu propio dominio como MAIL FROM del SMTP (sobre/Return-Path) de forma predeterminada, el SPF en realidad SE ALINEA con tu dominio, de modo que el include de M365 contribuye a un aprobado de DMARC por sí solo, algo que los ESP que son dueños del Return-Path no pueden hacer. Microsoft recomienda explícitamente el cualificador -all (hard fail) porque además espera que ejecutes DKIM y DMARC. Dos salvedades: solo las nubes soberanas/gubernamentales difieren —GCC High y DoD usan include:spf.protection.office365.us, y 21Vianet (China) usa include:spf.protection.partner.outlook.cn—; y cada subdominio remitente necesita su propio registro SPF (el registro de contoso.com no cubre marketing.contoso.com).
Paso a paso
- 1
Confirma el dominio y localiza sus registros DNS
Inicia sesión en admin.microsoft.com y ve a Configuración → Dominios, selecciona tu dominio y abre la pestaña de registros DNS. Si delegaste tus servidores de nombres a Microsoft, puede que ya haya publicado el SPF y el MX (yourdomain-com.mail.protection.outlook.com). Si tu DNS reside en un registrador/proveedor, ten en cuenta que M365 no tiene aquí controles de SPF ni de DMARC: esos registros los añadirás tú mismo en tu proveedor de DNS.
- 2
Publica o fusiona el registro SPF
En tu proveedor de DNS crea UN registro TXT en la raíz (host @): v=spf1 include:spf.protection.outlook.com -all. Si ya existe un registro v=spf1 (Google Workspace, una herramienta de marketing, etc.), fusiona el include en ese único registro; nunca añadas un segundo SPF TXT. Microsoft recomienda terminar con -all (hard fail). GCC High/DoD usan spf.protection.office365.us; 21Vianet usa spf.protection.partner.outlook.cn.
- 3
Abre la pestaña DKIM
El DKIM personalizado NO está en el centro de administración de M365. Ve a security.microsoft.com → Correo electrónico y colaboración → Directivas y reglas → Directivas de amenazas → Configuración de autenticación de correo electrónico, y luego selecciona la pestaña DKIM.
- 4
Revela los dos valores CNAME
Haz clic en tu dominio personalizado. Un dominio que nunca se configuró muestra Status = NoDKIMKeys y el conmutador en Disabled. Desliza el conmutador a Enable: como los CNAME aún no existen, se abre un cuadro de diálogo «Client error» y el Status cambia a CnameMissing. Eso es lo esperado, no un fallo: la sección «Publish CNAMEs» ahora muestra los destinos CNAME exactos de selector1 y selector2. Cópialos (o ejecuta Get-DkimSigningConfig -Identity yourdomain.com | Format-List Selector1CNAME,Selector2CNAME en PowerShell de Exchange Online).
- 5
Añade los dos CNAME de selector DKIM
Crea selector1._domainkey y selector2._domainkey como registros CNAME que apunten a los destinos exactos que te dio el portal. Los dominios más recientes (el formato que Microsoft introdujo en mayo de 2025) obtienen destinos como selector1-<dominio-con-guiones>._domainkey.<inquilino>.<char>-v1.dkim.mail.microsoft (el <char>, p. ej. n o r, es un carácter de partición que Microsoft asigna); los dominios configurados antes de esa fecha obtienen selector1-<dominio-con-guiones>._domainkey.<inquilino>.onmicrosoft.com. Usa el formato que muestre el portal: los dos formatos no pueden mezclarse en un mismo selector. No los cambies a TXT.
- 6
Cambia el DKIM a Enabled
Después de que los CNAME se propaguen (normalmente minutos, hasta 48 horas), vuelve a la pestaña DKIM, selecciona el dominio y desliza el conmutador a Enable de nuevo. El Status cambia a Valid y «Rotate DKIM keys» queda disponible. A partir de ahora M365 firma con d=yourdomain.com en lugar del onmicrosoft.com predeterminado, así que el DKIM se alinea.
- 7
Añade el registro DMARC
M365 no crea el DMARC. Añade un registro TXT en el host _dmarc: v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com. Empieza en p=none —el modo de supervisión «no tomar ninguna medida» de Microsoft— para que nada se vea afectado mientras confirmas que tanto el SPF como el DKIM se alinean, y aprieta más adelante.
- 8
Envía una prueba y lee las cabeceras
Desde un buzón del dominio, envíate un correo a Gmail, abre el mensaje y elige ⋮ → Mostrar original. Quieres ver SPF: PASS mostrando tu dominio, DKIM: PASS con d=yourdomain.com (NO onmicrosoft.com) y DMARC: PASS. Después confirma que cada registro se resuelve con una comprobación de salud del dominio.
Registros que añadir
Microsoft 365 genera los valores exactos en su asistente de configuración; estos muestran la forma de lo que añadirás en tu proveedor de DNS.
| Tipo | Host | Valor |
|---|---|---|
| TXT | @ | v=spf1 include:spf.protection.outlook.com -allSPF raíz — mantén exactamente UN registro SPF; fusiona este include si ya tienes un registro v=spf1. Cuesta ~1 consulta DNS. |
| CNAME | selector1._domainkey | selector1-contoso-com._domainkey.contoso.n-v1.dkim.mail.microsoftClave DKIM 1 (rotación automática). Ilustrativo — copia el destino exacto del portal de Defender; los dominios creados antes de mayo de 2025 terminan en .onmicrosoft.com en lugar de .n-v1.dkim.mail.microsoft. |
| CNAME | selector2._domainkey | selector2-contoso-com._domainkey.contoso.n-v1.dkim.mail.microsoftClave DKIM 2 (el segundo selector permite a Microsoft rotar las claves). Ilustrativo — usa el valor exacto del portal. |
| TXT | _dmarc | v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.comLo añades tú mismo — M365 nunca lo crea. Uno por dominio; empieza en p=none. |
| MX | @ | contoso-com.mail.protection.outlook.comEnruta el correo entrante a Exchange Online (prioridad 0). No es un registro de autenticación, pero forma parte de la configuración de M365; los puntos de tu dominio se convierten en guiones. |
Mantén exactamente un registro TXT de SPF (v=spf1) en tu dominio raíz: fusiona en él todos los remitentes. Tener dos registros SPF es en sí mismo un error.
El presupuesto de 10 consultas
El SPF tiene un límite estricto de 10 consultas DNS: si lo superas, devuelve un permerror y deja de validar en todas partes. Esto es lo que la configuración de Microsoft 365 consume de ese presupuesto.
Microsoft 365 añade 1 de tus 10 consultas; los mecanismos ip4: e ip6: no cuentan.
DKIM
El DKIM en Microsoft 365 es la parte que la gente hace mal, porque M365 ya está «firmando» el correo antes de que hagas nada, solo que con el dominio equivocado. De forma predeterminada, Exchange Online firma con DKIM el correo saliente usando el dominio onmicrosoft.com inicial de tu inquilino (d=contoso.onmicrosoft.com). Esa firma es válida, pero no se alinea con tu dominio De personalizado, así que no aporta nada al DMARC de contoso.com. Para arreglarlo activas el DKIM de dominio personalizado: dos registros CNAME, selector1._domainkey y selector2._domainkey, que delegan las claves públicas de vuelta a Microsoft. Como son CNAME (no registros TXT que pegas), Microsoft conserva las claves privadas y usa los dos selectores para rotar las claves automáticamente sin que vuelvas a tocar el DNS jamás. El formato de destino cambió en mayo de 2025: los dominios personalizados más recientes obtienen selector1-<dominio-con-guiones>._domainkey.<inquilino>.<char>-v1.dkim.mail.microsoft (el <char>, p. ej. n o r, es un carácter de partición que Microsoft asigna), mientras que los dominios configurados antes de esa fecha siguen usando selector1-<dominio-con-guiones>._domainkey.<inquilino>.onmicrosoft.com; el portal (o Get-DkimSigningConfig en PowerShell de Exchange Online) muestra exactamente cuál tiene asignado tu inquilino, y los dos formatos no pueden coexistir para un mismo selector. Flujo de trabajo: revela los CNAME en el portal de Defender (Configuración de autenticación de correo electrónico → DKIM), publica ambos en tu proveedor de DNS, espera a la propagación y luego activa el conmutador de DKIM del dominio a Enabled para que el estado muestre Valid. Las claves son de 1024 bits de forma predeterminada; hay disponibles de 2048 bits mediante New-DkimSigningConfig (con -KeySize 2048). Solo después de que el conmutador esté en Enabled, M365 firma con d=yourdomain.com y el DKIM empieza a alinearse.
DMARC
El DMARC es un registro de política TXT independiente en tu dominio que Microsoft 365 no crea: lo añades tú en tu proveedor de DNS. Publícalo en _dmarc.yourdomain.com empezando por v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com. p=none es el modo de supervisión «no tomar ninguna medida» recomendado por Microsoft: no cambia nada en la entrega mientras observas los informes agregados (rua) para confirmar que M365 (y cualquier otro remitente) supera SPF y DKIM alineados con tu dominio. La propia guía de Microsoft es poner en marcha rápidamente la firma DKIM y el DMARC en modo de supervisión, y luego escalar la política: apretar a p=quarantine y después a p=reject, una vez que la alineación sea consistente. Mantén un único registro _dmarc para todo el dominio organizativo; los subdominios heredan la política del principal automáticamente (puedes anular un subdominio concreto con su propio registro _dmarc o con la etiqueta sp=). Como el SPF de M365 se alinea y, una vez configurado el DKIM personalizado, el DKIM también se alinea, un dominio de M365 bien configurado supera el DMARC por ambos mecanismos: la configuración resiliente que sobrevive al reenvío.
Comprueba que de verdad funcionó
No te fíes solo de la insignia «Valid» del portal de Defender: confírmalo en un mensaje real. Envíate una prueba desde un buzón del dominio, ábrela en Gmail y elige ⋮ → Mostrar original: quieres ver SPF: PASS, DKIM: PASS con d=yourdomain.com (el fallo revelador es d=yourtenant.onmicrosoft.com, que significa que el DKIM personalizado aún no está activado) y DMARC: PASS. En el portal de Defender, la pestaña DKIM debería mostrar Status = Valid y Toggle = Enabled para el dominio. Después pasa tu dominio por la comprobación de salud del dominio de Qualisend para confirmar que el SPF, ambos CNAME de selector DKIM y el registro DMARC se resuelven todos limpiamente, y una vez que empiecen a llegar los informes agregados de DMARC, mete uno en el analizador de informes DMARC: Outlook.com / Exchange Online debería aparecer como una fuente alineada y aprobada.
Errores habituales
- Cobertura
La trampa n.º 1 de M365: hasta que actives el DKIM de dominio personalizado, el correo se firma como d=yourtenant.onmicrosoft.com, que NO se alinea, así que el DMARC no recibe ayuda del DKIM y se rompe en cuanto un mensaje se reenvía. Solo con SPF no basta.
- Configuración de DNS
El cuadro de diálogo «Client error» / el estado CnameMissing que aparece cuando deslizas por primera vez el conmutador DKIM a Enable es lo esperado, no un error: así es como el portal revela los valores CNAME. Publica los dos CNAME, vuelve y activa Enable de nuevo.
- Configuración de DNS
Los destinos CNAME de DKIM cambiaron en mayo de 2025: los dominios personalizados configurados desde entonces apuntan a <inquilino>.<char>-v1.dkim.mail.microsoft, y los más antiguos a <inquilino>.onmicrosoft.com. Copia el destino exacto del portal de Defender (o de Get-DkimSigningConfig): los formatos antiguo y nuevo no pueden mezclarse en el mismo selector.
- Rompe la autenticación
Mantén exactamente UN registro SPF TXT en el dominio. Si ya envías a través de Google Workspace, SendGrid, etc., fusiona include:spf.protection.outlook.com en ese único registro: dos registros SPF TXT son en sí mismos un PermError.
- Cobertura
El M365 aprovisionado por GoDaddy o IONOS suele incluir un SPF predeterminado de include:secureserver.net, que NO autoriza los buzones de Exchange Online. Debe resolverse a include:spf.protection.outlook.com.
- Configuración de DNS
Los registros DKIM de M365 son CNAME, así que si tu DNS está detrás de Cloudflare pon cada registro de selector en «DNS only» (nube gris): un CNAME con proxy de nube naranja no se resolverá al host de Microsoft y la activación del DKIM fallará.
- Configuración de DNS
Vigila los errores de sintaxis del SPF que Microsoft señala: sin punto final (include:spf.protection.outlook.com. es incorrecto), dos puntos y no un signo igual después de «include», y sin espacio tras los dos puntos. Muchos registradores además autoañaden tu dominio a los campos CNAME/host, duplicándolo.
- Cobertura
Cada subdominio remitente necesita su propio SPF (y su propio DKIM). El registro de contoso.com no cubre marketing.contoso.com: las herramientas masivas/de marketing que envían desde un subdominio necesitan SPF, DKIM y, normalmente, su propia gestión de DMARC allí.
Crea tu registro SPF
Microsoft 365 ya viene preseleccionado abajo. Añade cualquier otra plataforma desde la que envíes y luego publica el registro fusionado único.
This domain's own servers
Authorize the domain itself, if it sends mail directly (not through a platform above).
Other senders & IPs
Anything not in the list — another provider's SPF host, or specific IP addresses.
We add the include: prefix — enter the hostname your provider documents.
Policy for everyone else
What receivers should do with mail from any server not listed above (the all mechanism).
- Publish it as a TXT record at your root domain — host @ (the bare domain), value the full string above.
- Keep only one SPF record per domain. Merge every sending source into this single line — a second TXT record starting v=spf1 makes both invalid.
- Stay at or under 10 DNS lookups. Each include:, a and mx counts, and an include can trigger more lookups inside itself — ip4: and ip6: are free.
Authentication published? The next step is sending to a clean, verified list.
Verify a listSPF de Microsoft 365 — Preguntas frecuentes
Lecturas relacionadas
Una vez publicado, confirma que todo se resuelve con el chequeo de salud del dominio y luego averigua quién envía en tu nombre con el analizador de informes DMARC. Explora todas las fuentes de envío en el generador. Eso sí, la autenticación es solo la mitad de la entregabilidad: una IP o un dominio de envío incluidos en una lista negra te llevan igualmente a spam por muy limpio que esté tu SPF, así que conviene vigilar las listas negras con monitorización de listas negras.
Autenticado: ahora mantén la lista limpia
Pasar SPF, DKIM y DMARC te lleva a la bandeja de entrada; una lista limpia te mantiene ahí. Verifica la tuya: empieza gratis con 100 créditos, sin tarjeta.