Why does my DKIM signature fail alignment and how can I fix it?

Why does my DKIM signature fail alignment and how can I fix it?
Seeing a "DKIM alignment failed" line in your email authentication reports feels like a vague rejection note — you know something is wrong, but not what. The confusing part is that your DKIM signatures can be perfectly valid and still fail alignment. This guide explains the difference and walks through each common cause and its fix.
What does DKIM alignment actually mean?
DKIM alignment checks whether the domain in the visible From: header matches the domain that produced the signature — the d= value in the DKIM-Signature: header. When the two match, the signature is "aligned." When they differ, DMARC treats the signature as untrusted for your domain, because a valid signature for a domain an attacker controls could otherwise be used to vouch for mail from yours.
Think of it like a passport at a border: the passport can be genuine, but if the name on it doesn't match the name on your ticket, you're held up.
DKIM alignment vs. DKIM verification
These are two separate checks, and it's the gap between them that trips people up:
- DKIM verification confirms the signature itself is cryptographically valid and the message wasn't altered in transit.
- DKIM alignment then confirms the signing (
d=) domain matches theFrom:domain.
A signature can pass verification and still fail alignment — both checks are needed for full trust.
Common reasons for alignment failures
- Third-party email services — Marketing platforms and other tools often sign with their own domain by default (
d=sendingplatform.com), which never aligns with your brand domain. This is the single most common cause. - Subdomain mismatches — Relaxed alignment lets a subdomain (
mail.example.com) align with its parent (example.com), but only in that direction, and strict alignment requires an exact match. - Configuration errors — Typos in DNS, the wrong selector, or a key-rotation slip can produce valid signatures that don't line up.
- Organizational changes — Mergers, rebrands, and fragmented mail infrastructure leave legacy DKIM keys signing under old domains.
- Forwarding and mailing lists — Forwarders and lists can modify a message or re-sign it, breaking the original alignment.
How to verify whether DKIM is aligned
DMARC aggregate reports
With any DMARC policy in place — even p=none — receivers send XML aggregate reports that record DKIM alignment status per source. They're machine-readable, so a tool that parses them into a dashboard saves you reading raw XML. Palisade's Email Security Score gives you that view, and how to understand DMARC reports explains what the fields mean.
Inspecting email headers
Send a test message to yourself, open the full headers, and find the Authentication-Results: line. Compare the header.from domain with the DKIM header.d value (the signing domain). If they don't match, the signature isn't aligned — even if the same line says dkim=pass, which only reports verification.
A header.from vs. header.d mismatch indicates DKIM alignment failure.
Quick testing utilities
- DKIM checker — confirms your published key and selector resolve correctly in DNS.
- Email Security Score — a free snapshot of your domain's SPF, DKIM, and DMARC posture, with alignment gaps flagged.
How to fix DKIM alignment
Resolving alignment almost always comes down to making every sending service sign under a selector on your own domain rather than the provider's:
- Identify the misaligned source in your aggregate reports — it's the one where
header.disn't your domain. - In that platform's settings, enable custom domain authentication (sometimes called "branded sending" or "custom DKIM").
- Publish the DKIM record the platform gives you under your domain, usually as a CNAME the provider hosts and rotates for you.
- Re-send a test and confirm
header.dis now your domain and the report shows DKIM aligned. - Enable strict alignment only where you need an exact-domain match; otherwise relaxed alignment (the default) covers subdomains and is easier to keep passing.
header.d doesn't match your domain, so you're fixing named sources instead of hunting through XML. When you're ready to tighten policy, the guide to enforcing DMARC covers the safe rollout.
Related reading
- What are DMARC, DKIM, and SPF?
- Unraveling the power of DKIM selectors
- How to understand DMARC reports
Questions readers ask
Frequently asked questions
Keep going with AI
Ask AI how this applies to you
Take this guide to your assistant — each question opens pre-filled, with a link back to this page so it can read the details.

Written by
Samuel ChenardCEO & Co-Founder, Palisade
Samuel Chenard is the CEO and co-founder of Palisade, AI-first DMARC software for IT teams and MSPs, from one domain to thousands.
More from Samuel →


