TrekMail TrekMail
Deliverability & DNS

DMARC Alignment: Fix SPF, DKIM, and Forwarding Failures

By Alexey Bulygin
DMARC Alignment: Fix SPF, DKIM, and Forwarding Failures

DMARC alignment is the part most teams miss. They publish SPF. They publish DKIM. They add a DMARC record. Then Gmail still throws mail into Spam or rejects it outright. If you already know the basics, start with our broader guide to business email and then come back here for the protocol-level fix.

The problem is simple: passing authentication is not enough. Modern receivers care whether the domain that passed SPF or DKIM actually matches the domain in the visible From header. If it doesn’t, DMARC treats the message like a spoofing attempt. That’s why DMARC alignment breaks so often with ESPs, CRMs, helpdesks, forwarded mail, and half-finished DNS setups.

This guide gets straight to it. You’ll see how DMARC alignment works, why SPF-only fixes fail in real life, how to read the headers that matter, and how to set up a sending stack that survives forwarding instead of collapsing the first time a message takes an extra hop.

What is DMARC alignment?

DMARC alignment checks whether the domain a receiver authenticated with SPF or DKIM matches the domain in the visible From address. A message passes DMARC if SPF passes and aligns, or DKIM passes and aligns. One aligned pass is enough. Two failures means DMARC fails.

That rule comes straight from RFC 7489. DMARC sits on top of SPF and DKIM. It does not authenticate mail by itself. It asks a tighter question: did the authenticated domain line up with the domain the human recipient actually sees?

Think of it like this:

CheckWhat receiver validatesWhat must match for DMARC alignment
SPFEnvelope sender / Return-PathReturn-Path domain must align with From domain
DKIMd= domain in the DKIM signatured= domain must align with From domain
DMARCPolicy decisionAt least one of the two rows above must both pass and align

In plain English: SPF pass alone is not enough. DKIM pass alone is not enough. For DMARC alignment, one of them has to pass and match the From identity.

DMARC pass = (SPF pass + SPF aligned) OR (DKIM pass + DKIM aligned)

Why SPF passes but DMARC alignment still fails

SPF-based DMARC alignment fails when the Return-Path belongs to your vendor instead of your domain. The sending IP may be authorized and SPF may pass, but if the bounce domain is from SendGrid, Mailchimp, HubSpot, or Shopify, DMARC still sees a mismatch.

This is the most common DMARC alignment failure in production. ESPs need their own bounce handling, suppression lists, and event tracking. So they often default to a vendor-owned Return-Path.

Visible From: billing@example.com
Return-Path: bounces+123@sendgrid.net

That message can pass SPF because SendGrid authorized the IP for sendgrid.net. It still fails DMARC alignment because sendgrid.net does not align with example.com.

If you want SPF-based DMARC alignment, you need a custom bounce domain, sometimes labeled custom Return-Path, link branding, or branded tracking domain in the vendor dashboard.

bounces.example.com.   CNAME   u1234.wl.sendgrid.net.

After that change, the sender can use bounces.example.com as the envelope sender. In relaxed mode, that aligns with example.com.

There’s a second trap here. SPF breaks on forwarding. If a university, reseller, or personal mailbox auto-forwards your mail, the forwarder’s IP sends the message onward, not yours. SPF checks the forwarding server, not the original sender. That is why guides about forward domain email to Gmail and email alias forwarding keep running into SPF failure. SPF is useful. It is not enough.

Why DKIM alignment is the real fix

DKIM-based DMARC alignment is usually the durable fix because DKIM survives forwarding better than SPF. As long as the message is not materially changed in transit, the signature remains valid and DMARC can still pass through the aligned DKIM domain.

This is why experienced operators treat DKIM alignment as mandatory, not optional. Many third-party tools will sign mail with their own domain by default just so the message has some DKIM signature. That helps them. It does not help your DMARC alignment.

Visible From: newsletter@example.com
DKIM signature: d=mailchimpapp.net

The DKIM check may pass. DMARC alignment still fails because the signing domain is wrong.

The fix is domain authentication inside every sending platform. That usually means publishing one or more DKIM records the vendor gives you, then waiting for the vendor to start signing with your domain instead of theirs.

s1._domainkey.example.com.   CNAME   s1.domainkey.u1234.vendor.net.
s2._domainkey.example.com.   CNAME   s2.domainkey.u1234.vendor.net.

When that is active, the platform signs with d=example.com or an aligned subdomain such as d=mail.example.com. That gives you working DKIM-based DMARC alignment, even when SPF later fails because of forwarding.

Google’s current sender guidance is blunt about this. Its help center says the From domain for bulk mail must align with either the SPF organizational domain or the DKIM organizational domain, and recommends full alignment on both. If you send volume to Gmail and your DMARC alignment is sloppy, you are asking for throttling, spam placement, or hard failure.

Relaxed vs strict DMARC alignment

DMARC alignment has two modes: relaxed and strict. Relaxed alignment allows matching at the organizational domain level. Strict alignment requires the exact fully qualified domain name to match. Relaxed is the default and the right choice for almost every business.

You control this with aspf for SPF and adkim for DKIM inside the DMARC record.

ModeWhat counts as alignedReal-world impact
Relaxedmail.example.com aligns with example.comWorks with subdomains and normal vendor setups
StrictOnly exact hostname match alignsBreaks legitimate mail fast if you miss one stream

Example:

_dmarc.example.com. TXT "v=DMARC1; p=none; aspf=r; adkim=r; rua=mailto:dmarc@example.com"

For most teams, strict DMARC alignment is a bad trade. It looks cleaner on paper than it works in operations. The moment one app signs as mail.example.com while your visible From is example.com, you start creating false failures.

Use strict mode only if you have a real reason, a short vendor list, and someone who can audit every sender. Otherwise leave DMARC alignment in relaxed mode and focus on getting every legitimate source aligned first.

How to troubleshoot DMARC alignment fast

The fastest way to debug DMARC alignment is to inspect the received headers, not the sender dashboard. Look for Authentication-Results, the DKIM d= domain, the SPF smtp.mailfrom domain, and the final dmarc result tied to header.from.

When mail looks legitimate but DMARC fails, the received headers tell you exactly which identity is misaligned. This is the source of truth.

Authentication-Results: mx.google.com;
  dkim=pass header.i=@sendgrid.net header.s=s1;
  spf=pass smtp.mailfrom=bounces+123@sendgrid.net;
  dmarc=fail header.from=example.com

Read it in this order:

  1. Check header.from. That is the identity DMARC protects.
  2. Check the SPF domain in smtp.mailfrom. If it is vendor-owned, SPF-based DMARC alignment fails.
  3. Check the DKIM domain in header.i or the d= tag. If it is vendor-owned, DKIM-based DMARC alignment fails.
  4. If both authenticated domains miss your From domain, DMARC fails even if SPF and DKIM both show pass.

You can also test DNS from the shell:

dig +short TXT _dmarc.example.com
dig +short TXT example.com
dig +short CNAME s1._domainkey.example.com

If your DMARC alignment breaks only on forwarded mail, that is usually normal SPF behavior. TrekMail’s own troubleshooting docs point out that SPF fail plus DKIM pass is often expected on relayed or forwarded messages. That is exactly why aligned DKIM matters more than people think.

If you are still building the domain from scratch, keep your DNS clean. TrekMail’s domain setup guide and create email with your domain walkthrough cover the basics: one SPF record, active DKIM, valid DMARC, and no leftover MX clutter from the old provider.

Common DMARC alignment failure patterns

Most DMARC alignment problems come from a short list of repeat offenders: third-party ESPs, forwarded mail, mismatched subdomains, and duplicate or stale DNS records. Once you know the pattern, the fix is usually obvious.

Here are the failure modes that show up over and over:

  1. Marketing platform uses its own bounce domain. SPF passes, DMARC alignment fails.
  2. Vendor signs DKIM with its own domain. DKIM passes, DMARC alignment fails.
  3. Mail gets forwarded. SPF fails on the new hop. Only aligned DKIM can save DMARC.
  4. Strict mode is enabled by accident. Subdomain mail that should be valid stops aligning.
  5. Old DNS records are still live. The wrong platform keeps signing or routing mail.

If you see 4.7.32 or related Gmail enforcement tied to the From header not aligning with SPF or DKIM, that is not a vague deliverability issue. It is a direct DMARC alignment problem. Google spells that out in its sender FAQ at Google’s email sender guidelines.

Fixing DMARC alignment with TrekMail

TrekMail makes DMARC alignment easier because the platform keeps mailbox hosting, DNS health, and sending setup in one place. You still need the right records, but you stop juggling five dashboards and guessing which sender broke.

Here is the practical version.

Old Way vs New Way

Old wayNew way with TrekMail
Host mailboxes in one tool, send from another, track DNS in a spreadsheetManage domains, mailboxes, sending choices, and DNS checks from one dashboard
Hope each vendor tells you the right DKIM and SPF settingsUse the platform wizard and health checks to spot missing or broken records faster
Manually audit forwarding side effects and spam complaintsUse aligned DKIM, forwarding-aware setup, and a tighter operational workflow

If you use TrekMail’s managed SMTP on paid plans, the platform handles sending with your domain’s identity in mind. If you use BYO SMTP on the Nano or paid plans, TrekMail still works as the command center while you connect SES, SendGrid, Mailgun, or another provider. Either way, the goal is the same: working DMARC alignment, not just a green checkbox somewhere.

Useful TrekMail references while you set this up:

My Emails Go to Spam explains why SPF fail plus DKIM pass is often fine on forwarded mail. IMAP & SMTP settings confirms the standard client endpoints if you are testing mailbox auth after the DNS work.

TrekMail starts at $3.50 per month on Starter. There is a 14-day free trial for paid plans and a credit card is required to start that trial. If you want to keep it simple, the Nano plan stays free with BYO SMTP, up to 10 domains, and 5 GB pooled storage. When you need flat-rate multi-domain hosting with pooled storage and built-in IMAP migration, you can compare plans at TrekMail pricing.

Final checklist for DMARC alignment

A good DMARC alignment rollout is boring. That is the goal. Every legitimate sender either aligns through SPF, aligns through DKIM, or ideally both. After that, forwarding stops being a mystery and enforcement becomes safe.

  1. List every sender that uses your domain: mailbox host, CRM, billing app, support desk, store platform, forms, and marketing tools.
  2. Confirm the visible From domain each source uses.
  3. Check whether SPF-based DMARC alignment works by reviewing the Return-Path domain.
  4. Set up vendor DKIM so the signature aligns with your domain. This is the priority.
  5. Keep aspf=r and adkim=r unless you have a strong reason not to.
  6. Send tests to Gmail, inspect Authentication-Results, and verify real DMARC alignment in headers.
  7. Leave policy at p=none until every legitimate source is aligned.
  8. Move to enforcement only after the failures left in reports are actual spoofing or accepted forwarding edge cases.

That is the whole game. DMARC alignment is not a side detail. It is the decision point that separates legitimate mail from spoofed mail in the eyes of modern receivers. If you want a simpler way to run it across many domains without per-user pricing, start at TrekMail.

Share this article

We use cookies for essential functionality. No ads, no ad tracking.

or
or

Reset email sent

If an account exists for this email, we've sent password reset instructions.

By continuing, you agree to TrekMail's Terms and Privacy Policy.