Every way a rotation loses mail is a step done out of order. Four of them account for nearly all real incidents.
The four
| Mistake | Symptom | The check that catches it |
|---|---|---|
| Signing with the new key before its record resolves | Sudden DKIM failures at a subset of receivers, resolving on their own over the TTL | Query the new selector from a resolver you do not control before switching. |
| Revoking the old selector immediately after switching | Failures on mail sent days ago, concentrated at receivers that were deferring | Wait out the retry window. Revoking is never urgent unless the key leaked. |
| Replacing the key in place at the same selector | Intermittent failures for the length of the TTL, with no pattern by receiver | Use a new selector. There is no reason to reuse one. |
| Rotating one signer of several | One mail stream fails while others pass; usually noticed weeks later | Inventory every system signing as the domain before starting. |
Verifying before you switch
The publish step is complete when the record answers from somewhere outside your own infrastructure, not when your DNS provider’s console shows it saved:
"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB..."
If your zone has secondaries, check each of them. A record present on the primary and absent from one secondary produces exactly the symptom in the first row — failures at a fraction of receivers, apparently at random.
Verifying after
Send a message through the rotated path and read the delivered headers. The DKIM-Signature should name the new selector and Authentication-Results should report dkim=pass. Both, not either: the first proves the signer switched, the second proves the record works.
A rotation is not finished until the old selector is revoked
The half-finished rotation — new key live, old key still published and still valid — is the most common state to find a domain in, and it has the security properties of not having rotated. Put the revocation in the calendar at the moment you switch, dated for the end of the drain window.