DKIM p= public key checks
DKIM p tag · DKIM public key · DKIM TXT p=
How to read the DKIM p= public key tag, why empty p= revokes a key, and what truncated DNS TXT records look like.
Por DN01 Network Team
The p= tag carries the public key that receivers use to verify signatures, so a missing, empty, malformed or truncated value breaks authentication. DKIM demuestra que el mensaje fue firmado por el remitente y que la clave pública está publicada en DNS.
DNS editors sometimes split, quote or truncate long TXT values incorrectly, producing a record that looks present but cannot be parsed by receivers. Comprueba el nombre exacto selector._domainkey.dominio: sin selector no se puede saber qué clave debe usar el receptor.
Use /es/dkim-validator to confirm that p= is present and decodable, then inspect the raw TXT record in /es/dns-checker if the provider UI differs from public DNS. Revisa el TXT, las etiquetas v/k/p/h/s/t, la longitud de la clave, t=y y el estado revoked; después compara con DNS Checker.
What to verify first
Confirm that the selector is copied from the mail provider, not guessed from another domain or an old migration note.
Check whether the answer is a direct TXT record or a CNAME chain that eventually points at the DKIM TXT value.
Look at v=DKIM1, k=, p=, h=, s= and t= together. A record can exist but still be unusable when the public key is empty, malformed or too weak.
Common failure causes
The record was added to the wrong DNS provider, while the domain still delegates to another authoritative nameserver.
The selector changed during a provider migration, key rotation or domain re-verification, but an older selector is still being tested.
The TXT value was split or quoted incorrectly by a DNS editor, so receivers cannot reconstruct the base64 public key.
How to fix safely
Publish the new key first, wait for DNS visibility, then switch signing in the provider console. Do not delete the old selector until delayed mail has cleared.
Use t=y only during rollout. Once signed mail verifies consistently, remove testing mode so DKIM sends a stronger production signal.
Keep DKIM checks next to SPF and DMARC checks. A valid DKIM key is one part of deliverability, not the whole authentication policy.
| Tag | Why it matters |
|---|---|
| v=DKIM1 | Identifies the TXT value as a DKIM record. |
| p= | Carries the public key; an empty value revokes the key. |
| k= | Declares the key type, commonly rsa or ed25519. |
| h= | Limits allowed hash algorithms such as sha256. |
| t= | Flags testing mode (y) or strict subdomain behavior (s). |
Preguntas frecuentes
- Can I check DKIM without a selector?
No. DKIM records are selector-specific, so you need the selector from your provider or from a DKIM-Signature header.
- Why is the DKIM record found but invalid?
The TXT record may have a wrong version tag, duplicate tags, missing p=, invalid base64, a revoked empty key or a weak/malformed public key.
- Should I keep the old selector during rotation?
Yes, keep it until TTLs and delayed mail queues clear. Removing it too early can break verification for messages already in transit.