MX record checker for all your domains

This free MX record checker looks up the MX records for up to 10 domains or subdomains at once and tells you where each one's mail goes, and whether it can receive mail at all.

No signup, and nothing is stored.

By Rares Serban · Last updated October 17, 2026

What an MX record does

An MX (mail exchanger) record tells other mail servers which host accepts mail for a hostname. Each one pairs a priority number with a hostname, and senders try the lowest number first. MX is looked up per hostname, so updates.yourdomain.com can have its own MX records and receive mail somewhere else while yourdomain.com keeps Google Workspace. Our guide to email on a subdomain sets that up on a live domain.

A hostname with no MX at all doesn't simply refuse mail: senders fall back to its A record, as RFC 5321 section 5.1 describes, and that usually points at a web server, not a mail server.

How to read your MX record checker results

Each domain gets one verdict pill:

  • Receives mail (green): the domain has MX hosts, and every one we checked resolves to an address.
  • Receives mail, with a warning (amber): mail gets through, but something needs a look, like a backup host that no longer resolves, an MX that points at an alias (CNAME), or hosts from two different providers.
  • Can't receive mail (red): no MX record while the domain has an A record, MX records that point at IP addresses, no MX host that resolves, a null MX next to other MX records, or a domain that doesn't exist in DNS. It's amber when the domain has no MX and no address either, which is fine if it never takes mail.
  • Accepts no mail (null MX) (green): the domain says on purpose that it takes no mail.
  • Couldn't check (grey): DNS didn't answer in time. Try again in a minute.

Next to the pill you get the provider when the hostname makes it clear, or else the host itself, plus a one-line verdict. Open a domain to see its MX table: each host in priority order, the cached TTL, and whether the host resolves over IPv4 and IPv6.

Lower priority numbers are tried first, and hosts with equal numbers share the load. A single host is normal, so we don't flag a missing backup. The TTL is how long resolvers may cache the records, which is how long a change can take to reach everyone. The TTL (cached) column shows the time left in the public resolver's cache, so it can be lower than the value you set. Each MX lookup reads live public DNS, so you see what senders see right now.

MX records for common providers

If the provider label looks wrong, compare your records with what your provider asks for:

ProviderMX hostPriority
Google Workspacesmtp.google.com1
Microsoft 365<MX token>.mail.protection.outlook.com, or a host ending in .mx.microsoft like contoso-com.l-v1.mx.microsoft on domains added since July 2026Lower than any other MX
Zoho Mail (US data center)mx.zoho.com, mx2.zoho.com, mx3.zoho.com10, 20, 50
Cloudflare Email Routingroute1.mx.cloudflare.net, route2.mx.cloudflare.net, route3.mx.cloudflare.netSet by Cloudflare

Google's MX setup page lists the single smtp.google.com host. Setups from before 2023 may still use the legacy aspmx.l.google.com set, which still works. Personal Gmail addresses run on Google's own gmail-smtp-in.l.google.com hosts, which the checker labels Gmail. For Microsoft 365, External DNS records for Microsoft 365 explains where to find your MX token in the admin center. Zoho's values above are for the US data center, and other data centers use other hosts, so copy the ones your Zoho admin console shows. Cloudflare Email Routing assigns its own priorities, so copy what the dashboard shows.

Why a domain can't receive mail

The usual causes:

  • No MX record. Senders fall back to the A record, which usually points at a web server. If the domain never takes mail, publish a null MX instead: a single MX record of 0 ., as RFC 7505 defines.
  • An MX host that no longer resolves. Usually the old provider's host after a move, or a typo. Senders skip it and try the next host, and when none resolve, mail bounces.
  • A null MX left on from parking. A null MX has to be the only MX record, so one left next to your real hosts can make senders refuse mail for the domain.
  • A CNAME on the same name. A hostname with a CNAME can't hold an MX record too, so a leftover CNAME on a subdomain blocks the MX you add.
  • An MX that points at an alias or an IP address. RFC 2181 section 10.3 says an MX must name a host with its own address, not an alias. Most senders cope with an alias, some don't. An IP address isn't a valid MX value at all.

Replies to mail you send from a domain like that bounce, so the customer who answers your receipt never reaches you. Our guide to replying from a custom domain covers getting those replies back.

Changing your MX records safely

  • Lower the TTL a day ahead, to something like 300 seconds, so the switch reaches resolvers in minutes instead of hours.
  • Add the new MX before removing the old. Remove the old records once the new hosts show up here and resolve.
  • Don't mix two providers on the same name for long. Senders pick by priority and fall back on any failure, so mail ends up split between the two in ways you can't predict.
  • Leave a working mailbox alone. If the domain already receives mail in Gmail or Outlook, put new mail on a subdomain like updates.yourdomain.com instead of replacing the root MX.

Also check what the new MX gives you. A forwarding MX like Cloudflare Email Routing only receives: it passes mail on to a mailbox you already have, so you still need something else to reply from your domain.

Check the rest of your setup

MX covers receiving. For sending, run the same domains through the DMARC checker, which reads DMARC and SPF. And if you're choosing email hosting for several domains, that guide compares the options.

FAQ

How do I check MX records for a domain?

Paste it in the box at the top of this page and click Check MX records. From a terminal, run dig MX yourdomain.com on macOS or Linux, or nslookup -type=mx yourdomain.com on Windows.

What is an MX record?

The DNS record that names the mail server accepting mail for a hostname, with a priority number. Senders look it up before they deliver anything to an address at that hostname.

What does MX priority mean?

Lower is tried first. Hosts with equal priorities share the load, and higher numbers are backups that senders try when the lower ones don't answer.

Can a subdomain have its own MX record?

Yes, MX is per hostname, so updates.yourdomain.com can receive mail somewhere other than yourdomain.com. The only blocker is an existing CNAME on the same name, which has to go first.

What happens if a domain has no MX record?

Senders try the domain's A or AAAA address instead (RFC 5321), which usually isn't a mail server, so mail and replies to it bounce.

What is a null MX?

An MX record of 0 ., from RFC 7505. It says the domain accepts no mail, so senders give up right away instead of retrying. It's correct for parked domains, and it must be the only MX record on the name.

How long do MX changes take to show up?

Up to the old record's TTL, which the results show (as the resolver reports it, so it can be lower than the value you set). This tool reads live public DNS, so it shows what resolvers see now.

Can I check multiple domains at once?

Yes, up to 10 domains or subdomains per run, with no account.

Do you store the domains I check?

No. Lookups run live over public DNS (Cloudflare's resolver, with Google's as a fallback), and nothing is saved or logged. Our analytics only counts how many domains you checked, never which ones, and a shared results link keeps the domains after the #, which browsers don't send to our server.