All platforms
CRM-matched DNS Mailgun · 3 CNAME + 2 TXT · DKIM · LINK · SPF · DMARC

Mailgun DNS Checker

Mailgun sends from your domain using its own required records , 3 CNAME + 2 TXT covering DKIM, LINK, SPF, DMARC. A generic SPF test cannot see whether they match. We check your live DNS against Mailgun’s spec, host by host, character by character. Free, no account.

e$

domain only, we strip email and protocol automatically

What Mailgun requires

Mailgun: 2 CNAME for DKIM (pdk1/pdk2) + 1 CNAME for tracking + 1 TXT for SPF + 1 TXT for DMARC. This is the exact table our verifier checks your DNS against, not a generic template.

TypeHostRequired valuePurpose
CNAMEpdk1._domainkeypdk1._domainkey.YOUR_ID.dkim1.mailgun.comDKIM
CNAMEpdk2._domainkeypdk2._domainkey.YOUR_ID.dkim1.mailgun.comDKIM
CNAMEemailmailgun.orgLINK
TXT@v=spf1 include:mailgun.org ~allSPF
TXT_dmarcv=DMARC1; p=none; rua=mailto:[email protected]DMARC

How Mailgun authenticates

Mailgun handles DKIM by delegation: you publish 2 CNAME records (selectors pdk1, pdk2) pointing into pdk1._domainkey.YOUR_ID.dkim1.mailgun.com, and Mailgun hosts and rotates the actual signing keys on its side. You never see the public key, which also means a checker that only looks for TXT keys at _domainkey will wrongly report DKIM as missing here.

For SPF, Mailgun needs its include (mailgun.org) present in the ONE SPF record your domain is allowed to publish. If you already have an SPF record, this include is merged into it, never added as a second record; two SPF records is an automatic PermError everywhere.

The non-DKIM CNAME handle tracking or bounce domains. They carry no authentication themselves, but Mailgun's setup screen will not verify the domain until they resolve.

DMARC is yours, not the platform's: one record at _dmarc governs every sender on the domain. If another tool already publishes it, do not add a second; the spec row above shows the minimum this platform expects to find.

Mistakes we see on Mailgun domains

Publishing the CNAME target as a TXT record. The record type matters: a TXT with the right value still is not a delegation, and the key lookup dies at your zone.

Proxying the _domainkey CNAMEs through a CDN. They must resolve as plain DNS; an orange-clouded record answers with the CDN's addresses and the key disappears.

Adding Mailgun's SPF as a second TXT record next to an existing v=spf1. Receivers see two records and hard-fail both.

Why a generic checker misses this

A standard DNS tool tells you your SPF parses and your DMARC exists. It has no idea Mailgun is in the picture. It cannot tell you a required CNAME points at the wrong target, a selector is missing, or the include chain never reaches Mailgun’s servers, which are precisely the failures that put Mailgun mail in spam while every generic check shows green.

Common questions

What DNS records does Mailgun require?

Mailgun requires 5 DNS records: 3 CNAME + 2 TXT, covering DKIM, LINK, SPF, DMARC. The exact hosts and values are in the table above, they come from the same spec table our verifier checks against.

Why does a normal SPF checker pass my domain but Mailgun mail still fails?

A generic checker only tests whether your SPF record parses. It does not know which include Mailgun needs, which CNAME targets its DKIM keys live behind, or which selector names it signs with. We compare your live DNS against Mailgun’s required records character by character, so a missing include or a typo in a CNAME target is called out by name.

Will adding these records break my existing email?

The DKIM CNAMEs and the DMARC record are additive. SPF is the one to be careful with: a domain must publish exactly one SPF record, so if you already have one, merge the new include into it rather than adding a second record, two SPF records is an automatic PermError.

Keep going

All 25 platforms Full DNS check Build a record Run everything