Saltar al contenido
ecdsa.com
OpenDKIM (Authentication-Results); mailauth reports it as dkim=neutral (no key)DKIM

Mensaje de error

dkim=fail reason="key not found in DNS"

También se muestra como

  • dkim=neutral (no key)

La clasificación depende del verificador (`fail` en OpenDKIM, `neutral (no key)` en mailauth; ambos reproducidos), y por eso el mismo mensaje puede verse distinto en los encabezados de tu propio servidor y en los de los grandes proveedores de correo; los encabezados de Gmail suelen decir `dkim=neutral (no key for signature)`, una redacción propia de un servicio en producción que no se puede reproducir en un contenedor. Si la consulta DNS agota el tiempo de espera en lugar de no encontrar el registro, el resultado es `dkim=temperror`.

Qué significa

El mensaje lleva una firma DKIM para el selector `s=` y el dominio `d=`, pero el registro TXT `<selector>._domainkey.<domain>` no existe, así que el receptor no puede verificar nada. OpenDKIM lo notifica como `dkim=fail` con este motivo; otros verificadores clasifican la misma situación de otra manera: mailauth como `dkim=neutral (no key)` y algunos como `dkim=permerror`. A efectos de DMARC, ninguna de estas clasificaciones cuenta como un resultado pass de DKIM.

Por qué ocurre

Cómo solucionarlo

  1. 1.

    Consultar el nombre exacto del registro

    Construye el nombre a partir de `s=` y `d=` del encabezado de firma y consúltalo desde fuera de tu red.

    bash
    # s= and d= from the DKIM-Signature header name the record: <s>._domainkey.<d>
    dig +short TXT s2026._domainkey.example.com
    dig +short TXT s2026._domainkey.example.com @1.1.1.1   # bypass local caches
  2. 2.

    Publicar la clave y conservar un tiempo los selectores antiguos

    Publica el nuevo selector antes de firmar con él y conserva el anterior durante unos días después del cambio.

    text
    ; zone example.com - long keys are split into several quoted strings of at most 255 characters
    s2026._domainkey  IN TXT ( "v=DKIM1; k=rsa; "
                               "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..." )

Errores relacionados

Explorar toda la base de datos de errores de firma