Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What…
5 min read1,182 words21 explained imagesUpdated Wed, 1 Jul at 7:18 AM
Assistants need to reach this page over the internet. While it is only running on your machine, these two buttons will not be able to load it.
Each image has a one line explanation. Switch to full detail for the step it belongs to, the fields and buttons involved, examples and the whole procedure.
Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.
What You'll Learn
This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two TXT records, two MX records, and one CNAME — inside Cloudflare's DNS Records panel.
It also covers a Cloudflare-specific step that trips people up: switching the CNAME record from Proxied to DNS only.
Sign up at Mailgun.com, then check your inbox to verify your email address.
Sign up for Mailgun & add your domain (image 1 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Sign up for Mailgun & add your domain" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Sign up for Mailgun & add your domain" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 1 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
Sign up for Mailgun & add your domain (image 2 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Sign up for Mailgun & add your domain" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Sign up for Mailgun & add your domain" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 2 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
Step 2
Log in to Mailgun, then click Sending → Add New Domain.
Sign up for Mailgun & add your domain (image 3 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Sign up for Mailgun & add your domain" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Sign up for Mailgun & add your domain" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 3 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
Step 3
If your domain is companyname.com, decide whether to set up the main domain or a subdomain with Mailgun.
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
Important
Set up the domain or subdomain under the US region — not EU.
Click Add domain.
Sign up for Mailgun & add your domain (image 4 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Sign up for Mailgun & add your domain" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Sign up for Mailgun & add your domain" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 4 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
Tip
The next screen asks you to add DNS records to your domain. Leave this screen open — you'll need it for the next step.
Sign up for Mailgun & add your domain (image 5 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Sign up for Mailgun & add your domain" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Sign up for Mailgun & add your domain" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 5 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
2Access DNS records in Cloudflare
Now log in to your DNS records and add the 5 DNS records Mailgun requires.
Access DNS records in Cloudflare (image 6 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Access DNS records in Cloudflare" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Access DNS records in Cloudflare" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 6 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
Step 3
Click + Add Record. You'll repeat this for each of the 5 records below.
Access DNS records in Cloudflare (image 7 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Access DNS records in Cloudflare" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Access DNS records in Cloudflare" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 7 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
3Add the 1st TXT record (SPF)
Add the 1st TXT record (SPF) (image 8 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Add the 1st TXT record (SPF)" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Add the 1st TXT record (SPF)" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 8 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
Fields
A. Type: select TXT from the Type menu.
B. Name: different for everyone — do not include the root domain.
mg.companyname.com → host name is mg
replies.companyname.com → host name is replies
Main domain (companyname.com) → host name is @
C. Content: the same for everyone — paste v=spf1 include:mailgun.org ~all.
D. Click Save.
Add the 1st TXT record (SPF) (image 9 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Add the 1st TXT record (SPF)" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Add the 1st TXT record (SPF)" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 9 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
4Add the 2nd TXT record (DKIM)
Click + Add Record again.
Add the 2nd TXT record (DKIM) (image 10 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Add the 2nd TXT record (DKIM)" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Add the 2nd TXT record (DKIM)" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 10 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
Fields
A. Type: select TXT from the Type menu.
B. Name: this part is a little tricky. Copy everything from the beginning of the value up until the subdomain part — do not include the root domain. Everyone's 2nd TXT record name and value are different.
Example
Name to copy
Highlighted part
Using a subdomain
mx._domainkey.helpdesk
Add the 2nd TXT record (DKIM) (image 11 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Add the 2nd TXT record (DKIM)" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Add the 2nd TXT record (DKIM)" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 11 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
Using the main domain
mailo._domainkey
Add the 2nd TXT record (DKIM) (image 12 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Add the 2nd TXT record (DKIM)" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Add the 2nd TXT record (DKIM)" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 12 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
C. Content: head back to Mailgun and copy the 2nd, much longer TXT record — highlighted in the screenshot below — and paste it here.
Add the 2nd TXT record (DKIM) (image 13 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Add the 2nd TXT record (DKIM)" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Add the 2nd TXT record (DKIM)" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 13 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
D. Click Save.
5Add the 1st MX record
Add the 1st MX record (image 14 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Add the 1st MX record" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Add the 1st MX record" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 14 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
Click + Add Record again.
Add the 1st MX record (image 15 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Add the 1st MX record" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Add the 1st MX record" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 15 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
C. Mail Server: the same for everyone — paste mxa.mailgun.org.
D. Priority: 10 — the same for everyone, no matter what domain you're setting up.
E. Click Save.
6Add the 2nd MX record
Click + Add Record again.
Add the 2nd MX record (image 16 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Add the 2nd MX record" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Add the 2nd MX record" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 16 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
Fields
A. Type: select MX from the Type menu.
B. Name: different for everyone —
mg.companyname.com → host name is mg
replies.companyname.com → host name is replies
Main domain → host name is @
C. Mail Server: the same for everyone — paste mxb.mailgun.org.
D. Priority: 10 — the same for everyone.
E. Click Save.
7Add the CNAME record
Add the CNAME record (image 17 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Add the CNAME record" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Add the CNAME record" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 17 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
In Cloudflare, click + Add Record again.
Add the CNAME record (image 18 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Add the CNAME record" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Add the CNAME record" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 18 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
Fields
A. Type: select CNAME from the Type menu.
B. Name: different for everyone. Head back to Mailgun to copy the host name — copy everything from the beginning up until the subdomain part, do not copy the main domain.
Add the CNAME record (image 19 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Add the CNAME record" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Add the CNAME record" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 19 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
mg.companyname.com → host name is email.mg
replies.companyname.com → host name is email.replies
Main domain (companyname.com) → host name is email
C. Target: the same for everyone — paste mailgun.org.
Important — Cloudflare-Specific
D. Click the orange cloud icon to switch it from Proxied to DNS only. If this record stays proxied, Mailgun won't be able to verify it and mail delivery will fail.
E. Click Save.
Add the CNAME record (image 20 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Add the CNAME record" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Add the CNAME record" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 20 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
8Verify DNS & finish setup
Now that you've added all 5 records, go back to Mailgun and click Verify DNS Settings. If some records still aren't showing a green checkmark, click the same button again — DNS propagation can take a little time.
Verify DNS & finish setup (image 21 of 21)What this shows Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare.What this showsIllustrates the "Verify DNS & finish setup" section of "Mailgun Setup - CloudFlare Domain Setup".This screenshot appears in the "Verify DNS & finish setup" section of "Mailgun Setup - CloudFlare Domain Setup". For context, this section explains: Email Infrastructure Mailgun + Cloudflare Domain Setup Step-by-step DNS configuration for connecting Mailgun to a domain managed through Cloudflare. What You'll Learn This guide walks through signing up for Mailgun, adding your domain, and configuring the five DNS records Mailgun requires — two…. This part of the guide covers 7 fields, listed below.Image 21 of 21
Fields in this part of the guidemg.companyname.com → host name is mgreplies.companyname.com → host name is repliesMain domain (companyname.com) → host name is @Main domain → host name is @mg.companyname.com → host name is email.mgreplies.companyname.com → host name is email.repliesMain domain (companyname.com) → host name is email
Buttons and menus referencedSending → Add New Domaincompanyname.comANYTHING_HEREUSAdd domainDNS → Records+ Add RecordTXTdo not include the root domain.mgreplies@
Example values
Main domain (companyname.com) → host name is email
priya.raman@northgatedental.com
Illustrative values showing the expected format. They are not read from the screenshot.
All 2 steps in this procedure
Main domain: if you use the main domain, it should not also be used with Google Workspace or any other email provider — see Mailgun's guidance on sharing a domain with another email server.
Subdomain: type ANYTHING_HERE.companyname.com — for example mg.companyname.com, replies.companyname.com, or support.companyname.com.
Q: Why does the CNAME record need to be "DNS only" instead of "Proxied"?
Cloudflare's proxy sits in front of the record and changes how it resolves, which breaks Mailgun's ability to verify it. Setting it to DNS only (gray cloud) lets Mailgun see the record directly.
Q: Where do I find the +Add Record button in Cloudflare?
After selecting your domain, go to DNS → Records. The +Add Record button sits at the top of the records table.
Q: Do the TXT and MX records also need to be set to DNS only?
TXT and MX records aren't proxyable in Cloudflare — only records that resolve to a web-facing address (like CNAME and A records) show the proxy toggle. Only the CNAME record needs the DNS-only setting checked.
Q: Will this affect my existing Google Workspace or Gmail email?
Not if you use a subdomain for Mailgun rather than your main domain, and leave your existing MX records for Google Workspace untouched on the main domain.
Q: How long does DNS propagation take with Cloudflare?
Cloudflare's own DNS updates are typically fast, but it can occasionally take a few hours for changes to fully propagate. If a record isn't showing green yet in Mailgun, wait a bit and click Verify DNS Settings again.
Q: What do I do after all 5 records show a green checkmark?
Grab your Mailgun API key, add it to your email service settings, and send a test email in a conversation to confirm delivery is working.