How mail records get watched
Mail records deserve their own post because they share a property that makes them uniquely dangerous: breaking them produces no error anywhere you can see. Everything still sends. Nothing logs a failure. The only symptom is customers not replying, and that takes weeks to notice and is nearly impossible to attribute.
Key takeaways
- Four records, four different silent failures.
- MX: mail stops arriving, and senders may not get a bounce for days.
- SPF: your mail still sends and increasingly lands in junk.
- DKIM: signatures stop verifying, usually after a provider key rotation.
- DMARC is the one that tells you the others are broken, if you read the reports.
Four silent failures
| Record | If it breaks | How you find out today |
|---|---|---|
| MX | Incoming mail bounces or vanishes | A customer says they emailed you, days later |
| SPF | Your outgoing mail is treated as suspicious | Invoices are ’never received’, over weeks |
| DKIM | Signatures fail; the same as SPF but harder to spot | Same as SPF, and usually blamed on SPF |
| DMARC | Nothing immediately; you lose your reporting | You do not |
The third column is the argument for the whole system. Every one of those failures is currently discovered by a customer, indirectly, after enough time has passed that the cause is no longer obvious. A change detected within the hour with a sentence explaining it removes all four.
What each change means
- App integration
- Security & identity
- Management
SPF: which sender lost cover
An SPF record is a list of who is allowed to send as you, and the useful description of a change is not the string diff but the answer to “which of our senders is no longer covered?” A removed include is usually a whole mail provider, and naming it is what makes the message actionable.
There is a second SPF failure worth watching that is not a change at all: the lookup limit. SPF permits a bounded number of DNS lookups when evaluating a record, and a business that has accumulated includes over the years can cross it. When that happens the record stops working entirely, without anybody having edited it, because a provider added an include inside their own include.
DKIM: changing is normal
Mail providers rotate DKIM keys, sometimes automatically, and a selector record changing is routine rather than alarming. Treating every rotation as an incident is how this particular check gets muted.
So the DKIM check is functional: take the selector, fetch the key, and confirm it is well-formed and of a sane length. A rotation that produces a valid key is a digest line. A selector that stops resolving, or returns something malformed, is an alarm — and that is the actual failure mode, usually caused by a provider migration where the new selector was never added.
The check that is not a diff
- App integration
- Security & identity
- Management
- Analytics
Counting SPF lookups means resolving the record and recursively following every include, a, mx and redirect in it, which is a dozen lines of code and the single most valuable non-diff check in the whole system. It catches a failure that has no author and no event.
Next: how confirmation works, and what the digest looks like.
All posts