Blog · Dmarc
Do You Actually Have DNS Visibility for Email Authentication?
You do not really have DNS visibility for email authentication until you can answer three questions at any moment: what your SPF record currently allows, what your DKIM selectors currently sign with, and where your DMARC reports are actually being delivered. If you cannot answer all three in under a minute from your laptop, your DNS state is not under your control. It just happens to look fine right now.
That is the uncomfortable truth behind the Reddit question "do you actually have DNS visibility?" Most sysadmins and small-team IT managers think they have visibility because they remember typing the records a year ago. They do not. DNS state drifts. Vendors rotate keys. Cloud platforms reassign IP ranges. Internal teams edit TXT records without telling anyone. By the time a customer reports a missing email or a delivery failure, the broken state has been live for weeks. We have seen cases where a single DKIM selector rotation by an ESP silently failed for 11 days before anyone noticed, and the first signal was a customer asking why their reply never arrived.
This article walks through what DNS visibility for email authentication actually means, where it usually breaks, and what the smallest reasonable setup looks like for a team that does not have a dedicated monitoring engineer.
What DNS Visibility for Email Authentication Actually Means
DNS visibility for email authentication means you can see, on demand, the live state of the records that affect whether receivers trust your mail. At minimum that is:
- The SPF TXT record at your apex domain and any sending subdomains
- Every DKIM CNAME chain and the public key it points at, for every selector you publish
- The DMARC TXT record at
_dmarc.yourdomain.comand what itsruaandruftags actually point to - BIMI TXT record at
default._bimi.yourdomain.comif you publish one - MTA-STS policy file at
mta-sts.yourdomain.com/.well-known/mta-sts.txt - TLS-RPT record at
_smtp._tls.yourdomain.com
DNS visibility is not just the records you authored. It is what is currently resolving. The two are not the same thing, and that gap is where silent breakage lives.
A record you typed two years ago can resolve differently today because a registrar migration silently swapped the nameservers, a CDN CNAME was added by another team, or a DKIM selector was rotated by your ESP without updating the matching DNS record. If you have never actually queried your live state this week, you are guessing.
Why DNS State Drifts Without Anyone Noticing
Email authentication records live at the intersection of three groups who do not always talk to each other: DNS administrators, email administrators, and the third-party platforms that send on your behalf. Every handoff between groups is a place where a record can be edited, deleted, or quietly replaced without the other side finding out for weeks.
The most common drift paths:
- ESP rotates DKIM selector. Marketing adds a new sending service. Both groups assume DNS was updated. It was not.
- Cloud provider rotates outbound IP range. SPF include still references the old CIDR. Mail starts softfailing.
- DNS migration moves a domain to a new registrar. SPF and DMARC records come over, but a DKIM CNAME on a sub-subdomain was missed.
- DMARC
ruaaddress points to a mailbox that was decommissioned last quarter. Reports are silently dropped at the receiver.
None of these is dramatic. None of them breaks DNS resolution. None of them shows up in a regular uptime monitor. They only show up when a real failure starts costing real money.
The Four Silent DNS Failure Modes
If you only ever check your DNS once a year, these are the four things most likely to bite you.
1. DKIM selector rotation by ESP without DNS update. Most ESPs publish two DKIM selectors at a time and rotate them. Each new selector needs a matching public key in DNS. If the ESP rotates and your DNS team never adds the new selector, half your mail starts failing DKIM alignment. The ESP's dashboard usually still shows "DKIM valid" because they validate against the key on their own servers. The receiver does not get the public key it needs to verify the signature, so it counts as a fail.
2. SPF include chains crossing the 10-lookup limit. Every include, a, mx, ptr, exists, and redirect mechanism counts. Most admins do not know they are at 8 lookups until a vendor adds another include and pushes them over 10. Going over returns permerror, which receivers treat as a fail. The record still resolves. The DNS is still healthy. Your mail just stops authenticating.
3. DMARC rua pointing at an abandoned mailbox or third-party endpoint. The receiver sends reports. Nobody reads them. The mailbox is decommissioned. The reports silently start bouncing back to the receiver. Eventually the receiver gives up sending you reports. You lose visibility without anything actually breaking on your side. This is the failure mode that turns a working monitoring setup into a blind one.
4. MTA-STS policy mode never flipped to enforce. Many teams publish MTA-STS in testing mode and forget to flip it to enforce. The policy file exists, the DNS record exists, but no receiver is required to honor it. The protection is theater.
A Minimum Viable DNS Visibility Setup
You do not need a fancy monitoring platform to start. A laptop, a cron job, and a small set of records covers most of what you need.
Here is the smallest setup that gives you meaningful DNS visibility for email authentication.
1. One full DNS dump, run weekly. A short script that resolves your apex, DKIM selectors, _dmarc, MTA-STS, and TLS-RPT records and saves the output to a file with a timestamp. Diff the file week over week. Anything that changed without a ticket is suspicious.
2. One SPF lookup count check. Most public SPF validators count lookups. Run one against your live record after any vendor change. If you are over 7 lookups, you are one vendor away from a permerror.
3. One DKIM selector check. If your ESP publishes two selectors, check both. If you only see one, your ESP has rotated and you are about to start failing DKIM.
4. One DMARC report delivery check. Look at the rua value in your DMARC record. Confirm the mailbox or aggregator endpoint is alive. A 30-second check that prevents months of dropped reports.
5. One BIMI VMC expiry check. If you publish a BIMI record with a Verified Mark Certificate, check its expiry. BIMI failures do not break delivery, but a lapsed VMC breaks the logo in the inbox, which is the entire reason you published it.
This is roughly an hour of scripting and a cron job that emails you the diff. It is not elegant, but it surfaces every silent failure mode above within one week of drift. It also has one obvious weakness: it tells you what your DNS says. It does not tell you what receivers actually saw. For that, you need the next layer.
How DMARC Aggregate Reports Fill the Gap
Active DNS checks tell you what your DNS says. DMARC aggregate reports tell you what receivers actually saw. The two answer different questions, and you need both.
A DMARC aggregate report is a daily or hourly XML file that every major receiver (Google, Microsoft, Yahoo, Proofpoint, and several hundred others) sends to the address in your DMARC rua tag. Each report lists the sending IP, the SPF result, the DKIM result, and the alignment result for every message that claimed to be from your domain in the reporting window. It is the most authoritative answer to "did my email authentication actually work today?"
This is the visibility layer that catches things active DNS checks miss:
- An SPF
includethat resolves to an empty record on the ESP side (your DNS looks fine; their DNS does not) - A DKIM selector that works for one IP range but not another
- Receivers that disagree with each other about whether your DKIM signature is valid
- Sudden new sources of mail claiming to be from your domain, which is often the first signal of a spoofing campaign
Without DMARC reports, you are checking whether your DNS looks right. With them, you are checking whether receivers actually accept your mail. Those are different questions.
The catch is that raw aggregate reports are unfriendly. They are XML, sometimes gzipped, often large, and they arrive in batches from hundreds of different reporting organizations. Parsing them by hand is impractical beyond one or two domains. That is where a DMARC report aggregator becomes the difference between having visibility and not having it.
How DMARCFlow Complements Manual DNS Checks
DMARCFlow is the tool we built for exactly this problem. It collects the DMARC aggregate reports that arrive at your rua address, parses the XML from every reporting organization, and gives you a plain-English view of what passed, what failed, and what changed since the last report. The DNS Health page also runs the active DNS checks described above on a schedule, so the two layers live in one place: the live DNS state on one tab and what receivers actually saw on the next.
For a small team without an automation engineer, DMARCFlow is the difference between "we have DNS visibility in theory" and "we have DNS visibility on a dashboard we actually look at." It covers both layers, runs in the EU on GDPR-compliant infrastructure, and exposes a DNS Health check that does not require custom scripting. Entry pricing starts at 1 EUR per month, which makes it affordable even for teams that have historically been told email authentication monitoring is an enterprise purchase.
If you already have a custom monitoring setup that works, keep it. DMARCFlow does not replace the manual checks above. It runs alongside them and catches what they cannot see, which is what happens after your DNS queries resolve successfully.
FAQ
How often should I check DNS state for email authentication?
Weekly for the full DNS dump. Monthly for the BIMI VMC expiry check. Immediately after any vendor change, ESP migration, or DNS migration.
What is the SPF 10-lookup limit and how do I know if I am close?
The SPF specification caps evaluation at 10 DNS lookups per check. Every include, a, mx, ptr, exists, and redirect mechanism counts. If you are at 7 or more, you are one vendor away from a permerror. Run your SPF record through any public SPF validator to get a current count.
Can I rely on DMARC reports instead of checking DNS directly?
No. DMARC reports tell you what receivers saw. They do not tell you why your DNS record is wrong. You need both layers. DMARC reports are the most authoritative signal you have that something is broken. Active DNS checks are the only way to confirm what to fix.
What is the difference between DMARC rua and DMARC ruf?
rua is the address that receives aggregate reports (XML summaries of authentication results over a time window). ruf is the address that receives forensic reports (per-message failure details). rua is what most teams use. ruf is rarely used because most receivers do not send it for privacy reasons.
What does it mean if my DMARC reports stop arriving?
The rua mailbox or endpoint is most likely dead. Check the address in your DMARC record and confirm it is alive. If you delegate to a DMARC report aggregator like DMARCFlow, check that the aggregator is still receiving from the major receivers (most have a status page).
Does BIMI affect delivery?
No. BIMI does not affect whether mail is delivered. It only affects whether a verified logo appears in supporting inboxes. A broken BIMI record does not break mail flow, but it does remove the brand signal you paid for.