How to Check DNS Records for Email Deliverability

Learn how to check DNS records with dig, nslookup, and online tools to fix SPF, DKIM, DMARC, and MX issues that hurt inbox placement.

How to Check DNS Records for Email Deliverability
Do not index
Do not index
Open rates fall for no obvious reason. Gmail starts parking legitimate campaigns in spam. Outlook users stop seeing transactional mail that used to arrive instantly. In a lot of teams, the root cause isn't the copy, the list, or the sending platform, it's DNS. When the records behind SPF, DKIM, DMARC, or MX drift out of alignment, inbox placement gets weaker, sender reputation takes a hit, and customer trust starts leaking out of the system.
That's why how to check DNS records matters so much for email teams. DNS isn't a control panel you glance at once and forget. It's the published source of truth mailbox providers use when they decide whether a message is authenticated, where mail should be delivered, and whether a domain still looks operational. If the records are wrong, stale, cached, or missing on one resolver but not another, the symptoms can look random even when the failure is very specific.
A professional email setup also depends on the domain looking credible before a single campaign leaves the platform. That's one reason a strong professional email for brand image matters alongside technical hygiene. A branded mailbox and a clean DNS posture send the same signal, this domain is maintained carefully.
Table of Contents

When DNS Records Quietly Break Your Inbox Placement

A SaaS team can spend days blaming content when the issue is a DNS change nobody verified. A new ESP goes live, the DNS panel shows the right values, and the first signs of trouble appear elsewhere, fewer opens, more spam placement, and support tickets from people who never received password resets. That's the kind of failure that hurts revenue and customer experience at the same time.
The catch is that DNS problems rarely announce themselves cleanly. A broken MX record can send inbound mail to the wrong place. A missing or malformed TXT record can break SPF, DKIM, or DMARC alignment. A wrong NS delegation can make the zone look correct in one dashboard while public resolvers still point elsewhere. For email teams, that's not an abstract infrastructure issue, it's a deliverability issue.
That discipline matters because DNS is queried, not guessed. Authoritative guidance still centers on using tools like dig and nslookup to inspect records, and on following the chain with dig +trace when the answer looks inconsistent [Linux.com DNS guidance]. The same query-and-compare model shows up in web-based checkers, which ask for a domain, a record type, and sometimes a resolver before returning results. That workflow reflects the core problem: DNS isn't stored in one place, so the most reliable answer comes from the authoritative path, not from a cached guess.
That's also why deliverability work has to include the records that affect brand trust and authentication together. The state of the domain, the sending infrastructure, and the visible email identity all feed into inbox placement. A domain that looks inconsistent in DNS often behaves inconsistently in mailbox provider filters too.

Checking DNS Records from the Command Line

Command-line checks are still the fastest way to see what DNS is doing. They don't hide behind a UI, and they make the record type explicit, which matters when a deliverability issue lives in one record and not another. For most email teams, dig is the cleanest way to query, nslookup is the most familiar on Windows, and host is useful for a quick lookup when you need a simple answer.
The most practical habit is to query one record type at a time. MX shows where mail should arrive, TXT carries SPF, DKIM, and DMARC content, and NS shows which name servers are authoritative for the zone [Cyberly DNS record checking guide]. That separation reduces guesswork. It also keeps a team from mistaking a healthy website record for a healthy email configuration.
For Windows-heavy teams, built-in nslookup is enough to isolate most issues. Microsoft and Rackspace both document record-type queries through nslookup, including A, MX, TXT, AAAA, CNAME, NS, PTR, SOA, and SRV [Rackspace nslookup guide]. If the resolver returns the wrong value, the command output tells you whether the problem is the record itself or the resolver you asked.
A few reading rules help in practice:
  • Expected value present: the record exists and matches the intended configuration.
  • Old value still returned: propagation or cache, not necessarily a bad edit.
  • No answer at all: the record may be absent, delegated elsewhere, or blocked by a zone issue.
  • Different answers from different resolvers: compare authoritative and recursive results before changing anything.
The point isn't just to run a command. It's to compare the output against the intended zone state and ask whether the answer came from the authoritative source or a recursive cache. That distinction is what keeps a deliverability team from fixing the wrong thing.
notion image

Online DNS Checkers and Multi-Resolver Verification

A resolver can show the right record and still not tell you the whole story. In email work, that gap matters. A change may look correct from one network and still fail because another resolver is serving cached data or because the authoritative zone has not fully lined up with what your ISP-level lookup returns.
Online checkers help because they show several resolver paths in one place. Start with the domain, choose the record type, then compare results from Google, Cloudflare, Quad9, and, when needed, the authoritative server itself. Tools like Easydmarc DNS record checker can surface A, AAAA, CNAME, MX, TXT, SRV, DMARC, and PTR records in a single pass, which is useful when you are validating mail routing and authentication at the same time.
One clean result is not enough to clear a change. If one resolver shows the new TXT value and another still returns the old policy, the DNS edit may already be correct. The inconsistency usually points to propagation or cache behavior, not a bad record. That distinction matters during a DMARC rollout, an ESP migration, or any change that affects inbox placement.
For a more focused review, a dmarc checker keeps the inspection on the records that affect authentication. That is more useful than a generic DNS scan when the question is whether mailbox providers will see the expected policy, alignment, and selector records.
Historical views fill another gap. Some lookup services keep older snapshots of DNS state, and EasyDMARC says its checker includes access to up to 5 historical DNS records per search. That helps when a team needs to prove when a change landed or when a mail issue started after a zone edit. One current lookup shows the present state, while historical data shows whether the record was stable enough to trust during the period that mattered.

Each Record Type That Matters for Email

DNS checking becomes useful only when the record type is matched to the job it performs. A generic lookup doesn't tell a deliverability team enough. The practical question is whether each record still supports routing, authentication, and delegation the way the mail system expects.

A compact record map

DNS Record Type
Purpose for Email
Healthy Example
Common Failure
A
Points a name to an IPv4 host used by web or mail infrastructure
The hostname resolves to the intended service host
Wrong host, legacy server, or no answer
AAAA
Points a name to an IPv6 host when supported
The hostname resolves consistently with the intended network setup
Inconsistent dual-stack routing or stale IPv6 target
MX
Directs inbound mail to the approved mail exchanger
The domain returns the expected mail provider
MX points to a retired provider or wrong host
TXT
Publishes SPF, DKIM-related text, and DMARC policy
The text matches the published authentication policy
Missing string, malformed syntax, or wrong include target
CNAME
Aliases one hostname to another, often used for DKIM selectors
The alias points where the ESP expects it
Broken alias or dangling destination
SOA
Identifies zone authority and core DNS control data
The zone authority matches the expected DNS owner
Mismatch after a migration or registrar change
The email consequence is usually straightforward. If MX is wrong, inbound mail goes astray. If TXT is wrong, SPF or DMARC can fail even though the sending platform looks fine. If CNAME is broken, a DKIM selector can vanish. If SOA or NS no longer reflect the current authority, DNS can appear correct in a panel while public lookups still tell a different story.
Apex domains and subdomains both matter. A domain can have a healthy website record and still fail mail authentication because the problem sits in _dmarc, a DKIM selector, or a mail-specific subdomain. That's why a focused SPF record check is useful on its own, it isolates the published text that controls sender authorization instead of mixing it with unrelated web records.
Teams that skip this record-by-record view often miss the simplest failure mode, a configuration that is correct for one part of the stack and wrong for the part that mailbox providers care about. The fix is usually boring, but boring DNS is what keeps mail flowing.

Checking DKIM Selectors and DMARC Policies

DKIM and DMARC are the two records most likely to look “fine” in a UI while still failing in mail flow. That happens because the record has to exist in the exact selector path the sender uses, and DMARC has to publish the policy the team intends to enforce. A vague domain-wide check won't catch either problem.

DKIM needs the exact selector

A DKIM check should query the selector the ESP or mail system publishes, usually at a host like <selector>._domainkey.yourdomain.com. If the selector is missing, the message can still send, but authentication breaks. If the selector exists as a CNAME or TXT record in the wrong place, the result is the same from Gmail, Outlook, or Yahoo's point of view.
That's why a targeted dkim checker is valuable, it checks the selector path instead of guessing from the apex domain. For deliverability teams, the question is not “does the domain have DKIM somewhere?” The question is “does the signer's selector resolve exactly where the receiver expects it?”

DMARC needs policy and reporting clarity

DMARC lives at _dmarc.yourdomain.com and should be read as policy, not decoration. A p=none policy means reporting only. p=quarantine tells receivers to treat failures more aggressively, and p=reject tells them to refuse unauthenticated mail. If the policy never moved past none, the domain may be collecting reports but not enforcing anything.
Look up the rua and ruf tags as part of the same review. They show where aggregate and forensic reports are supposed to go, which is useful when a team wants to confirm that authentication failures are being observed somewhere operational. If the reports route to a dead mailbox, the data exists in theory but not in practice.
Mailchimp's DMARC guide explains the basic policy states clearly, but the deliverability reality is simpler, mailbox providers authenticate against the published record, not the policy intent in a slide deck. That's why selector accuracy and policy visibility matter so much.
notion image

TTL, Propagation, and the Authoritative vs Recursive Problem

A DNS change can be correct and still look wrong for a while. That's usually TTL and propagation, not a mistaken update. When a record has a 3600-second TTL, a recursive resolver can keep the old answer for an hour, which means a team may keep seeing the previous value even after the zone is fixed.
The practical mistake is treating one lookup as global truth. It isn't. Authoritative servers hold the current zone data, while recursive resolvers may return cached responses until the TTL expires. That's why experienced operators compare both instead of trusting whichever answer showed up first.

The verification pattern that actually helps

  1. Query the authoritative source for the zone.
  1. Query a public recursive resolver.
  1. Query a second public resolver.
  1. Compare the answers and the timestamps.
If the authoritative answer is correct but public resolvers lag behind, the issue is propagation or cache. If the authoritative answer itself is wrong, the configuration still needs repair. That distinction saves a lot of unnecessary edits during a migration or authentication rollout.
For deeper troubleshooting, some guidance recommends checking the SOA server, then an NS server, then comparing that with public and cached views [Liongard DNS troubleshooting guide]. That sequence is especially useful when a record seems fine inside a control panel but doesn't behave that way in the wild.
notion image

Common DNS Checking Mistakes That Cost You Inbox Placement

The worst DNS mistakes are usually the ones that look tidy in a dashboard. A record exists, the value seems familiar, and the team moves on. Then a week later, Gmail authentication looks inconsistent, Outlook users miss mail, or a cutover leaves half the audience pointed at an old provider.

The mistakes that show up in deliverability work most often

  • Checking only the apex domain: The symptom is a team that confirms the root domain while ignoring _dmarc and DKIM selector subdomains. The fix is to check each mail-related hostname separately, not just the visible homepage record.
  • Trusting one resolver during propagation: The symptom is a record that looks right in one tool and wrong in another. The fix is to compare at least two public resolvers plus the authoritative server before assuming the change failed.
  • Reading a cached TXT answer as truth: The symptom is stale SPF or DMARC data still appearing after a change. The fix is to verify the authoritative response and wait out the TTL instead of editing repeatedly.
  • Ignoring NS drift after a registrar migration: The symptom is a zone that seems managed in one place but resolves from another. The fix is to confirm that the current NS records still match the actual DNS owner.
  • Depending on a UI that hides intermediate state: The symptom is a panel that shows the final value but not the transition. The fix is to use command-line queries and multi-resolver checks so the propagation path is visible.
A few of those failures line up with deliverability symptoms that teams already track. A broken selector can leave DKIM showing as absent in headers. A stale MX can send mail to a legacy provider. A drifted NS set can make policy changes look accepted while receivers still see the old answer. That's how DNS issues turn into sender reputation problems instead of obvious outages.
DNSInspect recommends comparing returned records to the expected setup, then updating DNS if the values don't match. That's the right baseline, but the operational floor is broader for email teams. The checklist after any DNS change should always include NS, MX, SPF, DKIM selectors, and DMARC across the authoritative server and at least two public resolvers, plus a TTL review before editing and documentation of the expected state.
That's where specialized deliverability support earns its keep. Tools can show records. Experience is what connects those records to inbox placement, authentication behavior, and the business cost of getting it wrong.
Still seeing mail drift into spam after the records look right? MailAdept helps teams verify DNS, authentication, and deliverability infrastructure as one system, not as separate checkboxes. If the problem keeps coming back, visit Mailadept and get a free audit of the records and delivery path that are shaping your inbox placement.

Get expert insights on why your emails go to spam and how to consistently reach the inbox.

Fix Your Email Deliverability Before It Costs You Revenue

Get a Free Deliverability Audit

Written by

Thami Benjelloun
Thami Benjelloun

CEO Mailwarm, email deliverability expert.