SPF and DKIM by provider

SPF record for Mailchimp

Last updated 2026-08-26

Mailchimp sends campaigns and automations from your audience. Here is what to publish so it can do that as your domain, and what has to line up before DMARC will pass.

What to add. include:servers.mcsv.net in your SPF record, plus the DKIM records below.

What signs your mail. DKIM records Mailchimp generates for your account.

A campaign sent from an unauthenticated domain, with your DMARC policy at p=reject, turns the whole send into 550 5.7.509 bounces.

The SPF record

Add one mechanism to the SPF record on your sending domain:

include:servers.mcsv.net

In a complete record, alongside Google Workspace, that looks like:

v=spf1 include:_spf.google.com include:servers.mcsv.net -all

Mailchimp's sending servers live under servers.mcsv.net. Adding it does not by itself make SPF align, because Mailchimp uses its own bounce domain as the envelope sender for most sends. The include is worth having; the DKIM records are what make DMARC pass.

Then count your lookups. SPF allows ten DNS-querying mechanisms across the entire nested chain, and the eleventh turns the record into a permerror that authorises nothing. The record still reads correctly to a human while every check fails. Run the domain through the SPF checker after every change, because the number moves when your providers change their own records, not just when you change yours.

DKIM

Mailchimp calls this domain authentication and hands you CNAME records under _domainkey whose names start with k and which point at dkim hosts on mcsv.net. The exact pair depends on when your account was set up, so copy them from Website, Domains, Authenticate rather than from any page including this one.

Once they resolve, Mailchimp signs with d=example.com and DMARC has an aligned identifier to work with.

DMARC alignment with Mailchimp

DMARC passes when SPF or DKIM passes and the domain it authenticated matches the domain in your visible From address. A provider can pass both checks for its own domain and leave you failing. These are the Mailchimp specifics:

The general case is covered in alignment, explained, and the header you read to prove it is on the dmarc=fail page.

Verify it

Substitute your domain, and run these after the TTL on anything you replaced has expired:

dig +short TXT example.com dig +short TXT _dmarc.example.com

Then send one message through Mailchimp to a Gmail address you control, open Show original, and look for dkim=pass with your domain in header.i. That single check is worth more than any number of DNS lookups, because it tests the thing receivers actually do.

Our SPF checker gives you the lookup count, the DKIM checker confirms a selector resolves and the key is long enough, and the DMARC checker reads your policy back to you. All three are free and none of them ask for an account.

Values here were checked against Mailchimp's own documentation, at Mailchimp help. Providers change DNS requirements without much announcement, so if their screen disagrees with this page, believe their screen and tell us.

A record can read correctly and still fail alignment once real mail moves through it. Receivers write that verdict into the reports they send. We read them for you, and paid plans email you the same day one names a new sender that failed, instead of holding it for Monday. See whether this sender passes. Your first domain is free.

Watch every sender on this domain

You published records for one sender, and the domain behind it usually carries several. One weekly summary covers them all. When a report first names a new source failing, we email you the same day. Pro holds 5 domains for $19 a month.

Get the weekly digest

No card · 12+ months of history · The free plan does not expire

Questions

Why does Mailchimp mail fail DMARC even with include:servers.mcsv.net published?

Because SPF authenticates the envelope sender, which Mailchimp sets to its own bounce domain, so the pass never aligns with your From domain. Completing domain authentication so Mailchimp signs with your domain is the fix.