MX Record Checker: Fix Email Receiving and Mail Routing Problems
Learn how to check MX records, fix missing or wrong mail routing, remove old email providers, and troubleshoot domain email that is not receiving mail.
MX records tell the internet where to deliver incoming email for your domain.
If MX records are missing, outdated, mixed between providers, or added at the wrong DNS host, your website may still work while domain email fails. You might stop receiving email, see bounce messages, or find that messages are still going to an old email provider.
This guide explains what MX records do, how to check them, and how to fix common mail-routing problems without breaking website DNS.
On this page
Quick answer: what should an MX checker look for?
A useful MX checker should check the records that control incoming mail routing, then compare them with the provider that should receive email for the domain.
| MX check | Why it matters |
|---|---|
| MX records exist | Without MX records, incoming mail may fail or fall back in unexpected ways |
| MX records point to the intended provider | Mail should route to Google, Microsoft, Zoho, Proton, or whichever provider you actually use |
| Old MX records are removed | Old providers can still receive or interfere with mail routing |
| MX priority values are sensible | Lower numbers are more preferred |
| MX target is a hostname | MX should point to a mail server hostname, not a raw IP address |
| MX target resolves | The target hostname should resolve to address records |
| DNS was edited in the active DNS host | Records added in the wrong place will not affect live email |
| Mailbox or alias exists | MX routes mail, but it does not create recipients |
| Provider setup is complete | Google Workspace, Microsoft 365, and other providers may still require activation or verification |
If you cannot receive domain email, check nameservers, MX records, and mailbox setup before touching SPF, DKIM, or DMARC.
What is an MX record?
MX stands for Mail Exchange.
An MX record is a DNS record that tells sending mail servers where to deliver email for a domain.
For example, when someone sends email to:
hello@example.comthe sender's mail server checks the MX records for:
example.comThose MX records tell the sender where to deliver the message.
If your domain uses Google Workspace, the MX record should point to Google. If your domain uses Microsoft 365, the MX record should point to Microsoft. If your domain uses Zoho, Proton, Fastmail, cPanel email, or a forwarding service, the MX record should point to that provider.
For a broader view of the surrounding records, start with the email DNS checker guide.
MX records control incoming email
MX records affect receiving email.
They do not usually control:
- Whether your website loads
- Whether SPF passes
- Whether DKIM passes
- Whether DMARC passes
- Whether email lands in inbox or spam
- Whether the mailbox exists
- Whether a user has a paid email license
That distinction matters. If the problem is I cannot receive email at hello@example.com, MX is one of the first things to check.
If the problem is My sent emails go to spam, MX is usually not the main issue. Check authentication records with the SPF record checker, DKIM record checker, and DMARC record checker.
Website DNS and MX records are different
A website can work perfectly while email is broken.
| Record | Usually affects |
|---|---|
| A | Website |
| AAAA | Website |
| CNAME | Website, verification, DKIM, or autodiscover depending on use |
| MX | Incoming email |
| TXT SPF | Outgoing email authorization |
| TXT DMARC | Domain email policy |
| DKIM TXT/CNAME | Outgoing email signing |
If your website works but email does not, do not immediately change A or CNAME records. Check MX first.
For the full troubleshooting path, use the website works but email does not guide.
What does an MX record look like?
An MX record usually has four main parts:
| Field | Meaning |
|---|---|
| Type | MX |
| Name / Host | The domain or subdomain receiving mail |
| Mail server / Target | The mail provider's server hostname |
| Priority | Which server should be tried first |
Example for Google Workspace:
example.com MX 1 smtp.google.comExample for Microsoft 365:
example.com MX 1 example-com.mail.protection.outlook.comThe Microsoft 365 value is only an example format. The exact target is domain-specific and must come from Microsoft 365 admin center.
MX priority explained
MX priority tells sending mail servers which MX target to try first.
Lower priority numbers are more preferred.
example.com MX 1 mail1.examplemail.com
example.com MX 10 mail2.examplemail.comIn this example, sending servers should try the priority 1 server first, then the priority 10 server if needed.
| Priority | Meaning |
|---|---|
1 | Higher priority |
5 | Lower than 1, higher than 10 |
10 | Lower priority |
20 | Lower priority than 10 |
Use the priorities your email provider gives you.
Multiple MX records: good or bad?
Multiple MX records are normal when they belong to the same email provider and are part of that provider's recommended setup.
They are risky when they point to different unrelated email providers.
Usually okay
example.com MX 10 mx1.sameprovider.com
example.com MX 20 mx2.sameprovider.comUsually suspicious
example.com MX 1 example-com.mail.protection.outlook.com
example.com MX 5 ASPMX.L.GOOGLE.COM
example.com MX 10 mail.oldhost.comThis suggests Microsoft 365, Google Workspace, and an old host are mixed together. That is usually not what you want.
Common MX record problems
| Problem | What happens |
|---|---|
| No MX records | Incoming mail may fail or behave unpredictably |
| MX points to old provider | Mail may still go to the old inbox |
| MX points to website host | Website works, but email may not route to the correct provider |
| Mixed MX providers | Mail routing can become unpredictable |
| Wrong priority | Mail may try the wrong server first |
| MX added in wrong DNS account | Public DNS does not change |
| MX added to subdomain by mistake | Root-domain email still fails |
| MX target typo | Senders cannot find the mail server |
| MX target does not resolve | Mail cannot be delivered reliably |
| Mailbox does not exist | DNS routes correctly, but recipient still bounces |
| Provider setup incomplete | Email provider may reject or not accept mail yet |
Step 1: Confirm the active nameservers
Before editing MX records, confirm where your live DNS is managed.
| Role | Provider |
|---|---|
| Domain registrar | Namecheap |
| DNS host | Cloudflare |
| Website host | Vercel |
| Email provider | Google Workspace |
In this setup, Cloudflare controls live DNS because the nameservers point to Cloudflare. Adding MX records inside Namecheap will not fix live email DNS if Cloudflare is the active DNS host.
- Check the domain's nameservers.
- Identify the active DNS host.
- Edit MX records only at the active DNS host.
- Recheck public DNS after saving.
Step 2: Identify the intended email provider
Before changing MX records, answer this: Which provider should receive email for this domain?
| Email setup | MX should point to |
|---|---|
| Google Workspace | Google Workspace MX record |
| Microsoft 365 | Microsoft 365 MX record |
| Zoho Mail | Zoho MX records |
| Proton Mail | Proton Mail MX records |
| Fastmail | Fastmail MX records |
| Namecheap Private Email | Namecheap email MX records |
| cPanel email | Hosting provider mail server |
| Cloudflare Email Routing | Cloudflare email routing MX records |
| ImprovMX or forwarding service | Forwarding service MX records |
Do not guess. Use the exact MX values from the email provider's setup page.
Step 3: Check current MX records
Look at all MX records currently published for the domain.
- Are there any MX records?
- Which provider do they point to?
- Are there records from old providers?
- Are there records from multiple unrelated providers?
- Do priorities match the provider's instructions?
- Were the records added at the correct DNS host?
Example: clean Google Workspace setup
example.com MX 1 smtp.google.comExample: clean Microsoft 365 setup
example.com MX 1 example-com.mail.protection.outlook.comThe Microsoft value is only an example. Use the exact value from your Microsoft 365 admin center.
Example: suspicious mixed setup
example.com MX 1 smtp.google.com
example.com MX 5 example-com.mail.protection.outlook.com
example.com MX 10 mail.oldhost.comThis needs investigation because it mixes Google, Microsoft, and an old host.
Step 4: Remove old MX records when ready
Old MX records are one of the most common reasons domain email fails after migration.
For example, you move from cPanel email to Google Workspace.
example.com MX 10 mail.example.com
example.com MX 1 smtp.google.comIf you keep both, mail routing may not behave the way you expect.
Safe process
- Confirm the new email provider is ready.
- Confirm users, aliases, or mailboxes exist.
- Confirm the domain is verified.
- Add the new provider's MX records.
- Remove old MX records when ready to switch routing.
- Send test emails from outside accounts.
- Watch for bounce messages.
Do not delete old provider access until you are sure migration is complete.
Step 5: Confirm the mailbox or alias exists
MX records do not create mailboxes. They only route mail to the email provider.
For example, your MX can correctly point to Microsoft 365, but if this address does not exist, incoming mail may still bounce:
hello@example.comCheck whether the address exists as one of these:
- User mailbox
- Alias
- Shared mailbox
- Group
- Distribution list
- Forwarding address
- Catch-all address
- Routing rule
Common mistake: MX is correct for Google Workspace, but hello@example.com is not created as a user or alias. MX is correct, but the email still fails.
Step 6: Check provider activation and verification
Many email providers require more than MX records.
- Domain verification
- Admin approval
- User mailbox creation
- License assignment
- Gmail activation
- Microsoft 365 domain setup completion
- Routing rules
- Destination mailbox verification
- Email forwarding confirmation
| Provider | Extra setup often required |
|---|---|
| Google Workspace | Domain verification, Gmail activation, user/alias creation |
| Microsoft 365 | Domain verification, user license, mailbox creation |
| Zoho Mail | Domain verification, user creation, MX setup |
| Proton Mail | Domain verification, address creation, MX setup |
| Cloudflare Email Routing | Destination address verification and routing rules |
| Forwarding services | Forwarding destination verification |
If the email provider dashboard says setup is incomplete, fix that before assuming DNS is the only problem.
Google Workspace MX records
For new Google Workspace setups, Google's current MX value is:
smtp.google.comA typical Cloudflare-style entry:
| Field | Value |
|---|---|
| Type | MX |
| Name | @ |
| Mail server | smtp.google.com |
| Priority | 1 |
| TTL | Auto |
Older Google Workspace setups may use legacy ASPMX records such as:
ASPMX.L.GOOGLE.COM
ALT1.ASPMX.L.GOOGLE.COM
ALT2.ASPMX.L.GOOGLE.COM
ALT3.ASPMX.L.GOOGLE.COM
ALT4.ASPMX.L.GOOGLE.COMIf legacy Google MX records are already working, they may not need to be changed just for cleanup. For new setups, follow Google Admin's current instructions.
For the complete Cloudflare checklist, see the Google Workspace Cloudflare DNS guide.
Microsoft 365 MX records
Microsoft 365 MX records are domain-specific.
The target usually has this format:
<domain-key>.mail.protection.outlook.comExample only:
example-com.mail.protection.outlook.comDo not guess this value. Copy it from Microsoft 365 admin center.
| Field | Value |
|---|---|
| Type | MX |
| Name | @ |
| Mail server | Microsoft-provided <domain-key>.mail.protection.outlook.com |
| Priority | Microsoft-provided priority, commonly 1 |
| TTL | Auto or Microsoft-recommended TTL |
If Microsoft 365 should receive email, old MX records from Google, cPanel, Zoho, Proton, or other providers should usually be removed when you are ready to switch.
For the full setup checklist, see the Microsoft 365 Cloudflare DNS guide.
MX records for email forwarding services
Email forwarding services also use MX records.
For example, if you want hi@example.com to forward to yourname@gmail.com, the forwarding service must usually receive mail first. That means your domain's MX records must point to the forwarding service.
| Mistake | Result |
|---|---|
| MX still points to old provider | Forwarding service never receives the email |
| Forwarding destination not verified | Forwarding does not activate |
| Forwarding address not created | Mail may bounce |
| Multiple MX providers mixed | Routing becomes unpredictable |
| Destination mailbox filters message | Forwarded mail appears missing |
| Forwarded mail fails authentication | Mail may land in spam |
If you use forwarding only, make sure the forwarding service is the active MX destination.
MX records for subdomains
MX records can exist for the root domain or a subdomain.
example.com
support.example.com
mail.example.comIf you want to receive email at hello@example.com, check MX for example.com.
If you want to receive email at agent@support.example.com, check MX for support.example.com.
A common mistake is adding MX records to the wrong name. Adding MX under mail.example.com does not necessarily route mail for hello@example.com.
MX record target should be a hostname, not an IP
MX target should be a hostname, not an IP address.
An MX target should be a mail server hostname.
Good:
example.com MX 10 mail.example.comBad:
example.com MX 10 192.0.2.10If the mail server is yours, the MX target should be a hostname, and that hostname should resolve to an A or AAAA record.
example.com MX 10 mail.example.com
mail.example.com A 192.0.2.10Most small businesses using Google Workspace, Microsoft 365, Zoho, Proton, or Fastmail do not need to create their own mail server hostname. They should use the provider's MX values.
MX target should not point to a CNAME
An MX target should resolve to address records, not to a CNAME target.
Better:
example.com MX 10 mail.provider.com
mail.provider.com A 192.0.2.10Risky:
example.com MX 10 mail.example.com
mail.example.com CNAME other.example.netSome systems may tolerate this, but it is not a clean setup. For normal business email, use the MX target exactly as your email provider gives it.
MX and Cloudflare
If your DNS is managed in Cloudflare, add MX records in Cloudflare.
MX records are DNS-only. They do not use Cloudflare's orange-cloud proxy.
| Record type | Cloudflare proxy status |
|---|---|
| MX | DNS-only |
| TXT SPF | DNS-only |
| TXT DMARC | DNS-only |
| TXT verification | DNS-only |
| DKIM CNAME | DNS-only |
| Website A/CNAME | Can be proxied if used for web traffic |
If your website is proxied through Cloudflare, that does not automatically affect email. Email routing still depends on MX records.
MX and website hosting
A website host and email host can be different.
| Role | Provider |
|---|---|
| Website | Vercel |
| Google Workspace | |
| DNS | Cloudflare |
In this setup, Vercel records keep the website working, Google MX records receive email, and Cloudflare is where DNS records are managed.
| Role | Provider |
|---|---|
| Website | cPanel hosting |
| Microsoft 365 | |
| DNS | Cloudflare |
In this setup, the website may still need the cPanel A record, email should use Microsoft 365 MX, and you may remove old cPanel MX records when Microsoft is ready.
Website hosting and email hosting are separate jobs.
What happens if there are no MX records?
If a domain has no MX records, some sending systems may try fallback behavior using the domain's A or AAAA records.
Do not rely on that for business email.
For a real business mailbox, publish the correct MX records from your email provider.
If the domain intentionally does not accept email, a special Null MX record may be used by advanced administrators. For most businesses trying to receive email, missing MX is a problem to fix, not a strategy.
What is a Null MX record?
A Null MX record tells senders that a domain does not accept email.
example.com MX 0 .This is not for normal email setup. Use Null MX only when you intentionally want the domain to receive no mail.
Do not add Null MX if you expect addresses such as hello@example.com, support@example.com, or billing@example.com to work.
For Domain Email Doctor's typical users, a Null MX result usually means this domain is not configured to receive email.
MX records and bounce messages
Bounce messages often reveal the real problem.
| Bounce clue | Likely issue |
|---|---|
| Domain not found | DNS or domain issue |
| No MX records | Missing mail routing |
| Host not found | MX target typo or invalid target |
| Recipient not found | Mailbox or alias does not exist |
| Relay access denied | Provider is not accepting mail for the domain |
| Mailbox unavailable | User, license, or mailbox issue |
| Connection timed out | Mail server target not reachable |
| SPF/DKIM/DMARC failure | Authentication issue, not usually MX |
If you have a bounce message, read it before making random DNS changes.
Scenario 1: Website works, but no email arrives
Most likely causes include missing MX records, MX records added at the wrong DNS host, MX pointing to an old or wrong provider, missing mailbox or alias, incomplete provider setup, or incomplete domain verification.
- Check active nameservers.
- Check MX records.
- Confirm the intended email provider.
- Remove old MX records if needed.
- Confirm the mailbox or alias exists.
- Check provider activation.
- Send a test email from an external account.
Do not change website A or CNAME records unless the website itself is broken.
Scenario 2: Email goes to old provider
This is usually an MX problem.
For example, you moved to Microsoft 365, but mail still appears in your old Google Workspace or cPanel inbox.
- Old MX records are still active.
- MX priorities still favor the old provider.
- DNS was changed in the wrong host.
- Migration was not completed.
- Sender is using cached DNS results.
- Check public MX records.
- Confirm the active DNS host.
- Remove or update old MX records when ready.
- Wait for DNS propagation.
- Test again from external mailboxes.
Scenario 3: Some users receive mail, others do not
This is less likely to be pure MX if the same domain is involved.
- Missing mailbox
- Missing alias
- User not licensed
- Shared mailbox not configured
- Group or distribution list issue
- Mail routing rule problem
- Spam or junk filtering
- Old forwarding rule
If MX were completely wrong, the whole domain would usually be affected. Confirm MX records for the whole domain, then check the failing recipient inside the email provider.
Scenario 4: Email worked before moving to Cloudflare
When moving DNS to Cloudflare, people often copy website records but forget email records.
Result: website works, email fails, MX records may be missing, and SPF, DKIM, and DMARC may also be missing.
- Did nameservers change to Cloudflare?
- Were old MX records copied into Cloudflare?
- Were SPF, DKIM, and DMARC copied?
- Were verification records copied?
- Is the email provider still activated?
If email stopped after moving to Cloudflare, check Cloudflare DNS first.
Scenario 5: Email broke after website migration
Website migrations can accidentally damage email DNS. A developer may move the website to Vercel, Netlify, Wix, Shopify, or Squarespace and only copy website records.
If MX records are not copied into the new active DNS host, email may fail even though the website is fine.
- Check whether nameservers changed.
- Check whether MX records still exist.
- Check whether old MX records were removed accidentally.
- Check whether the email provider still verifies the domain.
- Restore the correct MX records.
Website migration should not require breaking email.
Scenario 6: Microsoft 365 says MX is missing
Check these items:
- Are you editing DNS at the active DNS host?
- Did you copy the Microsoft-provided MX target?
- Does the target end with
mail.protection.outlook.com? - Did you add it at
@for the root domain? - Is the priority correct?
- Are old MX records still present?
- Has DNS had time to propagate?
- Are you checking the correct domain in Microsoft 365?
The Microsoft MX target is domain-specific. Do not guess it.
Scenario 7: Google Workspace says MX is missing
Check these items:
- Are you editing DNS at the active DNS host?
- Did you add Google's MX record at
@? - Is the mail server
smtp.google.comfor a new setup? - Are old non-Google MX records removed?
- Is Gmail activated in Google Admin?
- Is the domain verified?
- Has DNS had time to propagate?
- Are you checking the root domain and not
www?
If you are using older Google ASPMX records and email works, you may not need to change them.
Scenario 8: Email forwarding is not working
Email forwarding is still email receiving. The forwarding provider must receive the message before it can forward it.
- MX records point to the forwarding provider.
- Destination mailbox is verified.
- The forwarding alias exists.
- Old MX records are removed.
- The destination mailbox is not filtering the mail.
- The forwarding service is active.
- The sender is not receiving a bounce.
MX records vs SPF, DKIM, and DMARC
These records are related, but they solve different problems.
| Record | Main job |
|---|---|
| MX | Routes incoming email |
| SPF | Authorizes sending servers |
| DKIM | Signs outgoing email |
| DMARC | Publishes policy for failed authentication |
If you cannot receive email, check MX first. If you can receive but sent emails go to spam, check SPF, DKIM, and DMARC.
If the domain is used for business email, you eventually want all of them configured correctly.
Safe MX troubleshooting workflow
- Identify whether the problem is receiving, sending, or spam placement.
- If receiving is broken, check active nameservers.
- Confirm the active DNS host.
- Check current MX records.
- Identify the intended email provider.
- Compare current MX records with provider instructions.
- Remove old MX records when ready.
- Confirm the mailbox, alias, group, or forwarding rule exists.
- Confirm provider verification and activation.
- Send test email from an external mailbox.
- Read any bounce message.
- Wait for DNS propagation before changing more records.
This avoids changing website records or authentication records when the real problem is mail routing.
What not to do
- Do not edit MX records at the registrar if DNS is managed elsewhere.
- Do not delete website A/CNAME records while fixing email.
- Do not mix MX records from several email providers casually.
- Do not point MX directly to an IP address.
- Do not assume MX creates mailboxes.
- Do not add MX under
wwwfor normal root-domain email. - Do not keep old MX records after a completed migration.
- Do not assume Cloudflare orange cloud affects MX.
- Do not change SPF/DKIM/DMARC first if receiving is completely broken.
- Do not ignore bounce messages.
- Do not keep making DNS changes every few minutes during propagation.
Final MX checklist
- Active nameservers are confirmed.
- DNS is edited at the active DNS host.
- Intended email provider is known.
- MX records exist.
- MX records point to the intended provider.
- MX priorities match provider instructions.
- Old MX records are removed when ready.
- MX target is a hostname, not an IP.
- MX target resolves properly.
- Mailbox or alias exists.
- Email provider has verified the domain.
- Email provider has activated mail service.
- Test email from an external sender arrives.
- Bounce messages are reviewed.
- Website records remain untouched unless the website is also broken.
Run an MX record check
Use Domain Email Doctor to scan your domain's public DNS records before changing anything.
A scan can help show whether your domain has MX records, which mail provider they point to, whether old providers are still present, and whether other email DNS records such as SPF, DKIM, and DMARC also need attention.
Start with MX when the problem is receiving email. Fix routing first, then improve authentication.
Quick checklist
- Active nameservers are confirmed.
- DNS is edited at the active DNS host.
- Intended email provider is known.
- MX records exist.
- MX records point to the intended provider.
- MX priorities use lower numbers as more preferred.
- Old MX records are removed when ready.
- MX target is a hostname, not an IP address.
- MX target resolves to address records.
- MX target is not configured as a CNAME target.
- Cloudflare MX records are DNS-only.
- Mailbox, alias, group, or forwarding address exists.
- Email provider setup is verified and activated.
- A new external test email arrives.
- Website records remain untouched unless the website is also broken.