NexaTech Studio

Guía técnica · NexaTech

Qué es DKIM y cómo comprobar que tu dominio firma los correos

Qué es DKIM, cómo saber si tu dominio firma los correos (cabeceras y dig) y cómo activarlo en Google Workspace, Microsoft 365 o tu hosting sin romper nada.

admin

·

29 de octubre de 2026

Respuesta corta: qué es DKIM, en una frase: una firma digital que tu servidor de correo añade a cada mensaje; quien lo recibe la valida con una clave pública que tú publicas en el DNS. Para comprobarlo, envía un correo a una cuenta de Gmail, abre «Mostrar original» y busca DKIM: PASS con tu dominio. Si aparece el dominio de tu proveedor, o no aparece nada, tu dominio no está firmando bien.

Qué es DKIM y para qué sirve

Qué es DKIM en la práctica: DKIM (DomainKeys Identified Mail, definido en el RFC 6376) responde a una pregunta concreta: ¿este correo lo ha enviado alguien autorizado por el dominio y ha llegado sin modificar? Funciona así:

  1. Tu servicio de correo (Google Workspace, Microsoft 365, tu hosting, Mailchimp…) guarda una clave privada.
  2. Al enviar, calcula una firma sobre algunas cabeceras (From, Subject, Date…) y sobre el cuerpo, y la añade en la cabecera DKIM-Signature.
  3. Esa cabecera indica dos datos clave: el dominio que firma (d=) y el selector (s=), que es el nombre de la clave.
  4. El receptor busca la clave pública en el DNS, en selector._domainkey.tudominio.com, y comprueba la firma.

Una cabecera real se parece a esto:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=tudominio.com; s=google; t=1730192400;
        h=from:to:subject:date:message-id;
        bh=…; b=…

DKIM no cifra el mensaje ni impide que alguien lo lea. Solo garantiza origen e integridad. Y por sí solo no le dice al receptor qué hacer si la firma falla: eso lo decide DMARC, que además exige que el dominio de d= coincida con el del remitente visible (el From). A eso se le llama alineación, y es donde fallan la mayoría de configuraciones. Lo explicamos en la guía general de por qué los correos llegan a spam.

DKIM frente a SPF

SPF autoriza servidores por su IP, y se rompe con los reenvíos porque el servidor que reenvía no está en tu lista. DKIM viaja dentro del mensaje: si nadie toca las cabeceras firmadas ni el cuerpo, la firma sigue siendo válida aunque el correo pase por varios servidores. Por eso, cuando un correo legítimo se reenvía, muchas veces es DKIM el que salva el DMARC. Necesitas los dos. Si tu SPF da problemas, mira la guía de SPF mal configurado.

Cómo saber si tu dominio firma con DKIM

1. Mira las cabeceras de un correo real

Es la prueba que manda, porque ves exactamente lo que ve el receptor.

  1. Envía un correo desde tu cuenta del dominio a una cuenta de Gmail.
  2. En Gmail, abre el mensaje, pulsa el menú de los tres puntos y elige «Mostrar original».
  3. Arriba verás un resumen con SPF, DKIM y DMARC. Lo que quieres ver es DKIM: 'PASS' con el dominio tudominio.com.
  4. Más abajo, busca la cabecera Authentication-Results.

Una cabecera sana tiene este aspecto:

Authentication-Results: mx.google.com;
       dkim=pass header.i=@tudominio.com header.s=google header.b=Ab12Cd34;
       spf=pass smtp.mailfrom=tudominio.com;
       dmarc=pass (p=QUARANTINE) header.from=tudominio.com

Fíjate en tres cosas: que ponga dkim=pass, que header.i (o header.d) sea tu dominio y no el de tu proveedor, y el selector (header.s), que necesitas para el siguiente paso.

En Outlook de escritorio las cabeceras están en Archivo > Propiedades > Encabezados de Internet. En Outlook web, abre el mensaje y busca «Ver detalles del mensaje» en el menú de acciones.

2. Comprueba la clave pública en el DNS

Con el selector en la mano, consulta el registro:

dig +short TXT google._domainkey.tudominio.com
"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA…"

En Microsoft 365 los selectores son selector1 y selector2, y se publican como CNAME que apuntan a tu tenant:

dig +short CNAME selector1._domainkey.tudominio.com
selector1-tudominio-com._domainkey.tutenant.onmicrosoft.com.

Cómo interpretar lo que sale:

ResultadoQué significa
TXT con v=DKIM1 y una p= largaLa clave está publicada. Falta confirmar que el servidor firma con ella.
p= vacíoClave revocada a propósito: las firmas con ese selector fallarán.
Sin respuestaEse selector no existe: o usas otro, o no has publicado la clave.
CNAME hacia tu proveedorNormal en Microsoft 365 y en plataformas de envío. Sigue el CNAME y comprueba que al final hay un TXT.

3. Si no sabes qué selector usas

El DNS no permite listar los selectores de un dominio. O lo sacas de la cabecera de un correo, o pruebas los más habituales:

for s in google selector1 selector2 default dkim mail k1 k2 s1 s2; do
  echo "== $s"; dig +short TXT "$s._domainkey.tudominio.com"
done

google es el de Google Workspace, selector1 y selector2 los de Microsoft 365 y default el que suelen usar cPanel y Plesk. Que no salga nada en esta lista no demuestra que no tengas DKIM: algunas plataformas usan selectores propios.

4. Comprueba la longitud de la clave

Una clave de 1024 bits sigue funcionando, pero hoy lo recomendable es 2048. Puedes sacarla del propio registro con OpenSSL:

p=$(dig +short TXT google._domainkey.tudominio.com | tr -d '" ' | sed 's/.*p=//; s/;.*//')
{ echo '-----BEGIN PUBLIC KEY-----'; echo "$p" | fold -w 64; echo '-----END PUBLIC KEY-----'; } |
  openssl pkey -pubin -noout -text | head -1

La salida será algo como Public-Key: (2048 bit). Si OpenSSL protesta, casi siempre es porque la clave está mal copiada en el DNS: falta un trozo o hay caracteres de más.

Cómo activar DKIM paso a paso

  1. Genera la clave en el servicio que envía. En Google Workspace está en la consola de administración, en Aplicaciones > Google Workspace > Gmail > Autenticar correo electrónico (elige 2048 bits). En Microsoft 365, en el portal de Microsoft Defender, dentro de las directivas de autenticación de correo, apartado DKIM (Microsoft cambia la ruta a menudo; busca «DKIM» en el portal). En cPanel está en «Entregabilidad de correo» y en Plesk, en la configuración de correo del dominio. En plataformas como Mailchimp, Brevo o SendGrid se llama «autenticar dominio».
  2. Publica el registro en el DNS donde de verdad está tu zona. Si el DNS lo gestiona el hosting, a veces se publica solo. Si está en Cloudflare o en el registrador, cópialo a mano. Comprueba con dig NS tudominio.com quién manda.
  3. Cuidado con el nombre del registro. Muchos paneles añaden el dominio por su cuenta: si escribes google._domainkey.tudominio.com, acabas con google._domainkey.tudominio.com.tudominio.com. Escribe solo google._domainkey.
  4. Cuidado con el valor. Una clave de 2048 bits pasa de 255 caracteres y hay que partirla en varias cadenas entre comillas; la mayoría de paneles lo hacen solos. No metas saltos de línea. En Cloudflare, los CNAME de DKIM van en modo «solo DNS» (nube gris).
  5. Comprueba desde fuera, cuando pase el TTL: dig @1.1.1.1 +short TXT google._domainkey.tudominio.com.
  6. Activa la firma en el proveedor. En Google Workspace hay que volver y pulsar «Empezar autenticación»: hasta entonces Google no firma con tu dominio aunque el DNS esté perfecto.
  7. Envía un correo de prueba y revisa las cabeceras como en el apartado anterior.
  8. Repite con cada servicio que envía en nombre de tu dominio: CRM, programa de facturación, newsletter, tienda online, formularios de la web. Cada uno necesita su propia clave y su propio selector.

Errores habituales

  • Firma con el dominio del proveedor. Ves dkim=pass header.d=sendgrid.net o similar. La firma es válida, pero no está alineada con tu From, así que no cuenta para DMARC. Solución: autentica tu dominio dentro de esa plataforma.
  • La web envía con la función de correo de PHP. Los formularios y avisos de WordPress salen sin firmar desde el servidor web. Configura un plugin de SMTP que envíe a través de tu cuenta de correo o de una plataforma de envío con el dominio autenticado.
  • Clave publicada pero firma sin activar. Pasa mucho en Google Workspace: el DNS está bien y los correos siguen saliendo sin DKIM propio.
  • Registro mal copiado. Comillas de más, espacios en medio de la clave o un trozo de p= perdido. Compara carácter a carácter lo que da dig con lo que te dio el proveedor.
  • El mensaje se modifica por el camino. Listas de distribución que añaden un pie, antivirus de salida que reescriben enlaces o servidores que tocan el asunto. En las cabeceras verás dkim=fail (body hash did not verify). Hay que encontrar quién lo toca.
  • Rotar la clave borrando la antigua demasiado pronto. Publica la nueva con otro selector, cambia la firma, espera unos días y solo entonces revoca la anterior.

Para agencias: DKIM en todos los dominios de tus clientes

Con treinta clientes nadie revisa cabeceras cada mes, y DKIM se rompe sin hacer ruido: alguien cambia de proveedor de correo, migra el DNS o da de alta una herramienta nueva y nadie autentica el dominio. Los correos siguen saliendo, pero cada vez más van a spam.

Jeffrey revisa el correo de cada dominio cada 6 horas. Si el dominio recibe correo (tiene MX) y no encuentra una clave DKIM en ninguno de los 23 selectores más habituales (los de Google, Microsoft 365, cPanel y Plesk, Zoho, Proton, Fastmail, Mailchimp y Mandrill, entre otros), abre un aviso «No detectamos DKIM». Lo llamamos así a propósito: si el cliente usa un selector propio poco común, Jeffrey puede no verlo, y no te lo vamos a presentar como «roto». En la misma revisión mira el SPF y el DMARC, así que tienes las tres piezas del correo de cada cliente en un solo sitio.

Preguntas frecuentes

¿DKIM evita que mis correos vayan a spam?

Ayuda, pero no lo garantiza. Es una de las señales que usan Gmail, Outlook y compañía, junto con SPF, DMARC, la reputación de tu IP y de tu dominio y el propio contenido. Sin DKIM alineado lo tienes bastante más difícil, sobre todo si envías volumen.

¿Puedo tener varios registros DKIM en el mismo dominio?

Sí, uno por selector. Es lo normal: uno para el correo del día a día, otro para la newsletter, otro para el CRM. Lo que no debes hacer es reutilizar el mismo selector en dos servicios distintos.

¿Uso clave de 1024 o de 2048 bits?

2048 siempre que el proveedor lo permita. Las de 1024 bits se consideran ya demasiado cortas para el largo plazo. Si tu panel DNS no admite registros largos, cambia de panel antes que bajar la clave.

¿Por qué DKIM pasa y DMARC falla?

Casi siempre por alineación: la firma es válida, pero el dominio de d= no es el de tu From. Pasa con plataformas de envío sin el dominio autenticado. Lo vemos con detalle en cómo configurar DMARC paso a paso.

¿Cada cuánto debo cambiar la clave DKIM?

No hay una norma fija. Una vez al año es una buena costumbre, y siempre que sospeches que la clave privada se ha expuesto o cuando deje la empresa alguien con acceso al panel. Microsoft 365 facilita la rotación con sus dos selectores.

Para agencias

¿Llevas varias webs? Entérate antes que tu cliente

Jeffrey vigila las webs de tus clientes (caídas, SSL, dominios, DNS y correo) y te avisa antes de que llamen. Cuando hace falta una persona, entramos nosotros, en marca blanca.

¿Hablamos de tu proyecto?

Cuéntanos qué necesitas y te respondemos en menos de 24h.