[ DMARC & policy ]

DMARC still fails after a DNS change: isolate the layer that did not change

Compare authoritative DNS, cached answers, sending identities and fresh receiver results instead of repeatedly editing a record.

By the EmailAuth research team

[ Key points ]

  • State which identity and outcome the exact change should affect.
  • Compare authoritative, recursive and fresh message evidence.
  • Do not treat saved DNS or rollback as instant operational recovery.
On this page

A saved DNS change and a failing message can both be real. The record may have reached authoritative DNS while a resolver still has an older answer. Or the change may be visible everywhere but unrelated to the identity the sending application uses.

Start by identifying exactly what changed and what you expected that change to accomplish. A policy edit, an SPF authorization and a DKIM public key solve different problems. Treating them as interchangeable leads to repeated changes without a causal explanation.

Write down the expected effect

Keep the prior value, new value, exact owner name, record type, timestamp and responsible operator. State a testable hypothesis: for example, a new DKIM key should let the receiver verify a signature with a particular d domain and s selector. If the service is not signing with those values, the DNS publication alone cannot produce that result.

Changing p=reject to p=none changes the requested handling context; it does not turn an unaligned identity into an aligned one. Under RFC 7208 §2.4 and RFC 7208 §4.4, publishing an SPF include at example.com does not repair SPF for an unrelated envelope domain used by the vendor. The alignment guide explains how to compare these identities.

Determine whether the intended DNS is actually serving

Query the authoritative nameservers for the exact name and type, preserving full responses. Compare the expected record with every relevant authoritative answer. If the authoritative service still returns the old value, investigate the editor, zone selection, delegation and provider-side deployment before waiting on recursive caches.

When authoritative answers agree on the new value, query the resolver used by your test environment and another relevant recursive resolver. Record status and TTL as well as content. A cached absence is different from a cached old value: negative caching can preserve an earlier NXDOMAIN or NODATA response for its remaining lifetime. RFC 2308 §3, RFC 2308 §4 and RFC 2308 §5.

Lowering a record’s TTL now does not retrospectively shorten a copy already cached under its previous lifetime. Avoid a universal promise that all DNS changes become visible in a fixed number of minutes. Qualifying serve-stale behavior can also retain and use older data beyond TTL expiry under RFC 8767 §4. Use observed answers and cache evidence to decide when retesting is meaningful.

Test a new message, not yesterday’s header

Authentication results are recorded for a particular delivery. A new DNS configuration does not rewrite a message already received. Generate a fresh controlled message through the affected application and preserve its timestamp and receiver-generated results. RFC 8601 §1.2 and RFC 8601 §4.

Compare the visible From domain, SPF-evaluated identity and result, and each relevant DKIM signing domain, selector and verification result. Then examine alignment under the applicable DMARC policy. Do not stop at a vendor dashboard saying authentication is enabled; determine what the actual message carries.

If the signing selector differs from the one you published, investigate the service’s activation or configuration. If the signature verifies for an unrelated domain, investigate its supported customer-aligned identity settings. If a signature fails only after a gateway, compare the route before and after that intermediary. Covered-content changes can affect verification under RFC 6376 §3.7, but failure alone does not identify the cause or prove which hop modified the message. These are different diagnoses and should lead to different changes.

Use a compact decision record

This synthetic example shows why the layers matter:

  • Observation: Authoritative DKIM key is new; recursive lookup is old; What it supports: DNS observations differ; Next investigation: Cache lifetime and resolver path
  • Observation: Both DNS views are new; message uses a different selector; What it supports: Published key does not match this signature; Next investigation: Sender’s active signing configuration
  • Observation: Matching signature passes; d domain is unrelated to From; What it supports: Signature works but does not supply alignment; Next investigation: Supported aligned sending identity
  • Observation: New direct message passes; forwarded copy fails; What it supports: The route affects surviving authentication; Next investigation: Forwarding and message modification

None of these observations alone proves an attack or an outage across all recipients. Keep the conclusion proportional to the evidence.

Avoid changing policy to hide the symptom

A business-critical delivery problem may need a documented temporary mitigation. Choose its scope, owner, expiry and verification criteria separately from the technical fix. An organization-wide policy reduction can affect unrelated traffic and should not be the reflex response to a single unverified application failure.

Preserve a rollback plan for the actual change. Restoring a DNS value may itself take time to become visible through caches, and restoring an old key is not appropriate if that key is suspected compromised. Identify those constraints before treating rollback as instant recovery.

Close with a causal explanation

Record which layer was wrong, what changed and which new evidence confirms the correction. Keep a before-and-after received-message comparison and the relevant DNS observations together. Use aggregate reports to look for the same pattern over subsequent reported traffic without treating them as a real-time or complete delivery log; RFC 9990 §3.1 describes aggregated reporting.

The issue is resolved when the intended workflow has a trusted passing aligned result and any delivery problem is explained. Inbox placement remains a separate receiver decision. A successful DNS update is a milestone, not the end of that investigation.

Make the next decision explicit

Use the changed-selector fixture to decide whether to fix active signing configuration rather than republish the same unused key. Before closing, record one fresh test through the affected workflow, its trusted receiver result, exact d/s values and remaining coverage limits. If that evidence is unavailable, keep the relevant claim pending. No DNS publication, key activation or delivery test was performed here.

[ Takeaway ]

State which identity and outcome the exact change should affect. Compare authoritative, recursive and fresh message evidence. Do not treat saved DNS or rollback as instant operational recovery.

[ By role ]

What this means for you

Choose your role for practical next steps.

IT / Mail Admin

Keep DNS, signing and alignment as separate tests.

Record exact names, values and timestamps, then compare fresh message identities. Fix the layer supported by evidence instead of changing several records at once.

Next steps

  1. Compare authoritative and recursive answers.
  2. Verify active selector and signing domain.
  3. Test the full delivery route.

CISO / SecOps

Make temporary mitigations expire.

A policy relaxation can hide a symptom without repairing the sender. Approve any mitigation against its actual exposure and require evidence for closure.

Next steps

  1. Document risk and scope.
  2. Review compromised-key rollback constraints.
  3. Retain the final causal explanation.

Founder / Non-technical

Ask what the DNS change was meant to fix.

A saved setting is not the same as a restored workflow. Request a new test from the affected application and a short explanation of the remaining cause.

Next steps

  1. Name the impacted business route.
  2. Avoid blanket policy reductions.
  3. Judge completion on verified new mail.

[ FAQs ]

Frequently asked questions

Why does DMARC fail when my DNS dashboard says saved?

The wrong zone or name may have been edited, caches may differ, or the sending identity may remain unaligned. Start with authoritative DNS and the actual fresh message.

Will a lower TTL clear existing cached records?

No. It changes the lifetime advertised in future answers, not the remaining lifetime already held by a resolver.

RFC 8767 §4

Can a missing record remain cached after I add it?

Yes. An earlier negative answer can persist for its remaining cache lifetime. Inspect its status and authority information alongside the new authoritative answer.

RFC 2308 §5

Will an old received message start showing pass?

No. Its authentication results describe the earlier delivery. Send a fresh controlled message through the affected workflow.

RFC 8601 §1.2

Does publishing a DKIM key enable signing?

Not by itself. The sending service must use the corresponding signing configuration. Compare the actual d domain and s selector with the published key.

RFC 6376 §3.5 RFC 6376 §3.6.2.1 RFC 6376 §5

Why did a root SPF change have no effect?

The affected message may use another envelope domain. Check which identity the receiver evaluated before editing SPF.

RFC 7208 §2.4 RFC 7208 §4.4

Should I change DMARC to none while investigating?

Not automatically. If a temporary mitigation is needed, document its scope, risk, owner, expiry and rollback separately from the underlying repair.

What is enough evidence to close the incident?

A causal before-and-after explanation linking DNS and sender configuration to a fresh trusted aligned result on the actual route, with remaining delivery issues accounted for.

[ Sources ]

Sources

  1. RFC 9989

    Sections §5.3.5 · §5.4 · §3.2.2

  2. RFC 6376

    Sections §3.5 · §3.6.2.1 · §3.7 · §5

  3. RFC 7208

    Sections §2.4 · §4.4

  4. RFC 2308

    Sections §3 · §4 · §5

  5. RFC 8601

    Sections §1.2 · §4 · §7.1

  6. RFC 8767

    Sections §4

  7. RFC 9990

    Sections §3.1

[ Glossary ]

Glossary

Author Domain
The domain in the message From header field, used as the DMARC reference identity.

RFC 9989 §3.2.2

DNS TTL
Ordinary freshness interval, not a guaranteed global deletion deadline; qualifying stale-answer use may continue after expiration.

RFC 8767 §4

Enterprise provenance

Why top financial institutions and governments retired their email security dashboards.

Traditional email authentication platforms sell you a dashboard and ask your engineers to do the labour. In high-stakes environments, manual oversight means delayed enforcement, configuration drift and unmonitored shadow domains.

EmailAuth is the agentic email provenance platform. Our agents enforce p=reject, keep third-party senders aligned and move your domains to full RFC 9989 compliance, the new DMARC standard,, with human-in-the-loop auditability.

Governments Large enterprises Tier-1 financial institutions

SaaS · Dedicated tenancy · Air-gapped on-prem · BYOK encryption

Knowledge Base