Guide

DKIM2: the next version of DKIM, explained

DKIM2 is an IETF draft that chains signatures across every hop, records how intermediaries change a message, and stops DKIM replay. What it does and where it stands.

DKIM2 is not a standard yet. It is an IETF Internet-Draft, draft-ietf-dkim-dkim2-spec, being developed in the DKIM working group by authors from Yahoo, Google and Fastmail. The latest revision at the time of writing is -08, dated 27 October 2026. Details will change, and there is nothing to deploy or check today. This is what it sets out to do.

What is wrong with DKIM today

  • Replay. A DKIM signature covers the message, not who it was sent to. A spammer who gets one signed message from a reputable domain can resend it to millions of recipients, and every copy verifies.
  • Intermediaries break signatures. Mailing lists add footers and subject tags; forwarders rewrite headers. The original signature fails and nothing records why. ARC was an experimental attempt to carry results across hops, and is being reclassified as historic.
  • Backscatter. Bounces go to whatever address the message claims, so forged mail generates bounces to innocent parties.

How DKIM2 works

  • Every hop signs. Each system that handles the message adds a DKIM2-Signature header, numbered in sequence, forming a chain of custody from the originator to the final recipient.
  • Signatures bind the envelope. Each signature includes the SMTP MAIL FROM and RCPT TO it was sent with. A replayed copy sent to different recipients no longer matches, which is what defeats replay.
  • Changes are recorded. A Message-Instance header carries hashes of the message at each revision, and an intermediary that modifies it can include a "recipe" describing how to reconstruct the previous version, so a verifier can check the original signature too.
  • Bounces follow the chain. Delivery status notifications are sent back only to systems that actually handled the message.
  • Modern algorithms. Ed25519 and a post-quantum algorithm (ML-DSA) alongside RSA. Keys are published at the same _domainkey names as today.

How it relates to DKIM and DMARC

DKIM2 is a new protocol rather than an update to DKIM: messages can carry both DKIM-Signature and DKIM2-Signature headers during a transition. How DMARC will use DKIM2 results is not yet specified. For now, DMARC (RFC 9989) is built on DKIM as it exists today.

What to do now

Nothing changes in your DNS. The best preparation is getting today's authentication right: DKIM signing for every sender, an SPF record within its limits, and DMARC at enforcement. Those are what DKIM2 is designed to build on.

Check your DMARC record

More guides

  • SPF, DKIM and DMARC explained How the three email authentication standards fit together, what each one proves, and which you need to stop people sending email as your domain.
  • How to create an SPF record Build a correct SPF record step by step: find every service that sends as you, add the right includes, pick between -all and ~all, and avoid the common mistakes.
  • Fixing "SPF PermError: too many DNS lookups" Why SPF stops at 10 DNS lookups, how the count is worked out across nested includes, and four ways to bring a record back under the limit.
  • Moving DMARC from p=none to p=reject A safe rollout plan for DMARC: start monitoring, read the aggregate reports, fix legitimate senders, and step up to quarantine and reject without losing mail.
  • What DKIM is and how to set it up How DKIM signatures work, where the public key lives in DNS, what a selector is, and how to turn DKIM on for the services that send your mail.
  • How to secure a domain that sends no email Parked and website-only domains are easy targets for spoofing. Three DNS records — null MX, a deny-all SPF record and DMARC reject — lock them down.
  • DMARCbis: what changed in DMARC in 2026 (RFC 9989) DMARC was revised in May 2026 as RFC 9989, 9990 and 9991. What is new, what was removed — pct, rf and ri — and what to change in your record.
  • How to set up MTA-STS and TLS-RPT Stop attackers stripping TLS from email sent to your domain. Publish an MTA-STS policy in testing mode, collect TLS-RPT reports, then enforce.