Mailchimp: SPF, DKIM & DMARC Setup

The exact DNS records to authenticate email sent through Mailchimp, so it passes SPF, DKIM and DMARC and lands in the inbox. Check your own domain below, then publish what's missing.

SPF for Mailchimp

Add include:servers.mcsv.net to your domain's single SPF TXT record, never publish two SPF records. If you send only through Mailchimp, the whole record is:

v=spf1 include:servers.mcsv.net ~all

SPF for Mailchimp is optional and is NOT the record surfaced in Mailchimp's current domain-authentication UI (which asks for the DKIM CNAMEs + a DMARC TXT). If you keep or add SPF, the correct, current mechanism is include:servers.mcsv.net (older include.mcsv.net / include:mailchimp.com forms are deprecated). CRITICAL: SPF does NOT achieve DMARC alignment on Mailchimp. Mailchimp sends with an envelope-from / Return-Path on its own bounce domain (mcsv.net space), so SPF authenticates Mailchimp's domain, not yours, the aligned identifier that satisfies DMARC comes from DKIM. Adding include:servers.mcsv.net therefore does nothing for DMARC pass/fail; its only value is legacy receivers that check SPF in isolation. If you send through several providers, count the lookups: servers.mcsv.net expands and eats into the 10-DNS-lookup SPF cap, do not stack redundant includes.

DKIM for Mailchimp

In Mailchimp go to Website (or the account/domain area) → Domains → Add & verify domain, or Audience → Settings → then use 'Set up email domain authentication' / 'Fix it' next to your verified sending domain. Verify ownership of the domain first (Mailchimp emails a verification code or you use the Entri connector). Mailchimp then displays the CNAME records unique to your domain (the current flow typically shows 2, but the exact set is account-generated and can vary). Publish each at your DNS host as a CNAME record (NOT TXT) exactly as Mailchimp shows it, then click 'Check Status' in Mailchimp. The host/target pattern is kN._domainkey.yourdomain → dkimN.mcsv.net (k1 → dkim.mcsv.net, k2 → dkim2.mcsv.net, k3 → dkim3.mcsv.net); k1 is often the primary record and Mailchimp will tell you if additional selectors are needed. DKIM only becomes active once Mailchimp verifies the CNAMEs resolve, publishing alone is not enough; you must return and confirm authentication (propagation can take up to 48h). Mailchimp now strongly pushes 'Entri' one-click automated setup, which writes the records into supported DNS providers for you. IMPORTANT: use the exact selectors and targets Mailchimp shows for YOUR account rather than copying generic examples, the record names vary slightly between accounts.

Method: CNAME · Selector(s): k1, k2, k3

k1._domainkey.yourdomain.com.  CNAME  dkim.mcsv.net
k2._domainkey.yourdomain.com.  CNAME  dkim2.mcsv.net
k3._domainkey.yourdomain.com.  CNAME  dkim3.mcsv.net
(use the exact records Mailchimp displays for your domain, it may show only a subset such as k1 alone or k2/k3)

DMARC for Mailchimp

Publish DMARC at _dmarc.yourdomain.com as a TXT record: Mailchimp's current flow explicitly asks for it alongside the DKIM CNAMEs, and Gmail/Yahoo REQUIRE a DMARC record for bulk senders (>5,000 msgs/24h). Because Mailchimp does NOT support SPF alignment (envelope-from is a Mailchimp bounce domain), your DMARC pass depends entirely on DKIM alignment, so the DKIM CNAMEs MUST be live and verified before you move DMARC past p=none, or legitimate campaigns will fail DMARC. DKIM does align (d= is your domain), so relaxed alignment (default) passes; you generally don't need strict. Start at p=none with rua reporting, confirm Mailchimp mail shows dkim=pass AND aligned in aggregate reports, then tighten to quarantine/reject. If your org DMARC is at reject and DKIM isn't yet authenticated in Mailchimp, campaigns bounce/junk immediately.

v=DMARC1; p=none; rua=mailto:[email protected]; fo=1; adkim=r; aspf=r

Common Mailchimp mistakes

  • SPF alone will NOT make DMARC pass on Mailchimp. Mailchimp's Return-Path/envelope is its own bounce domain, so SPF authenticates Mailchimp, not you, DMARC alignment comes only from DKIM. Never rely on include:servers.mcsv.net to satisfy DMARC; get the DKIM CNAMEs verified.
  • Publishing the DKIM CNAMEs is not the same as enabling DKIM. You must return to Mailchimp and click 'Check Status'/verify, authentication only activates after Mailchimp confirms the records resolve.
  • CNAME-vs-TXT confusion: the DKIM records are CNAME records pointing to dkim.mcsv.net / dkim2.mcsv.net / dkim3.mcsv.net. If you paste them as TXT records (or paste a raw public key) they will never validate.
  • Host-field double-domain error: many DNS panels auto-append your domain, so enter the host as 'k1._domainkey' (not 'k1._domainkey.yourdomain.com') or you'll create k1._domainkey.yourdomain.com.yourdomain.com.
  • Using outdated SPF includes (include.mcsv.net / include:mailchimp.com): the current SPF mechanism, if used at all, is include:servers.mcsv.net. For DKIM, copy the exact selectors/targets Mailchimp shows; do not assume a fixed k1-only or k2/k3-only scheme, as the account-generated set varies.
  • Stacking redundant SPF includes and blowing the 10-lookup limit, servers.mcsv.net expands; if you already authenticate other senders, adding it can push SPF to permerror. Flatten/consolidate instead.
  • Tightening DMARC to p=quarantine/reject BEFORE the DKIM CNAMEs are verified. With no SPF alignment, un-verified DKIM means every Mailchimp campaign fails DMARC and gets junked or rejected.

Frequently asked questions

What SPF record do I need for Mailchimp?

Add include:servers.mcsv.net to your domain's single SPF TXT record. A domain that sends only through Mailchimp would use: v=spf1 include:servers.mcsv.net ~all. SPF for Mailchimp is optional and is NOT the record surfaced in Mailchimp's current domain-authentication UI (which asks for the DKIM CNAMEs + a DMARC TXT). If you keep or add SPF, the correct, current mechanism is include:servers.mcsv.net (older include.mcsv.net / include:mailchimp.com forms are deprecated). CRITICAL: SPF does NOT achieve DMARC alignment on Mailchimp. Mailchimp sends with an envelope-from / Return-Path on its own bounce domain (mcsv.net space), so SPF authenticates Mailchimp's domain, not yours, the aligned identifier that satisfies DMARC comes from DKIM. Adding include:servers.mcsv.net therefore does nothing for DMARC pass/fail; its only value is legacy receivers that check SPF in isolation. If you send through several providers, count the lookups: servers.mcsv.net expands and eats into the 10-DNS-lookup SPF cap, do not stack redundant includes.

How do I set up DKIM for Mailchimp?

In Mailchimp go to Website (or the account/domain area) → Domains → Add & verify domain, or Audience → Settings → then use 'Set up email domain authentication' / 'Fix it' next to your verified sending domain. Verify ownership of the domain first (Mailchimp emails a verification code or you use the Entri connector). Mailchimp then displays the CNAME records unique to your domain (the current flow typically shows 2, but the exact set is account-generated and can vary). Publish each at your DNS host as a CNAME record (NOT TXT) exactly as Mailchimp shows it, then click 'Check Status' in Mailchimp. The host/target pattern is kN._domainkey.yourdomain → dkimN.mcsv.net (k1 → dkim.mcsv.net, k2 → dkim2.mcsv.net, k3 → dkim3.mcsv.net); k1 is often the primary record and Mailchimp will tell you if additional selectors are needed. DKIM only becomes active once Mailchimp verifies the CNAMEs resolve, publishing alone is not enough; you must return and confirm authentication (propagation can take up to 48h). Mailchimp now strongly pushes 'Entri' one-click automated setup, which writes the records into supported DNS providers for you. IMPORTANT: use the exact selectors and targets Mailchimp shows for YOUR account rather than copying generic examples, the record names vary slightly between accounts.

Do I need DMARC when sending through Mailchimp?

Publish DMARC at _dmarc.yourdomain.com as a TXT record: Mailchimp's current flow explicitly asks for it alongside the DKIM CNAMEs, and Gmail/Yahoo REQUIRE a DMARC record for bulk senders (>5,000 msgs/24h). Because Mailchimp does NOT support SPF alignment (envelope-from is a Mailchimp bounce domain), your DMARC pass depends entirely on DKIM alignment, so the DKIM CNAMEs MUST be live and verified before you move DMARC past p=none, or legitimate campaigns will fail DMARC. DKIM does align (d= is your domain), so relaxed alignment (default) passes; you generally don't need strict. Start at p=none with rua reporting, confirm Mailchimp mail shows dkim=pass AND aligned in aggregate reports, then tighten to quarantine/reject. If your org DMARC is at reject and DKIM isn't yet authenticated in Mailchimp, campaigns bounce/junk immediately.

Verify & related