Email Spam Tester

Free tool

MX Record Checker

Look up the MX records of a domain, in the order senders try them, and check that every server in the list resolves to an address.

What the MX records say

An MX record names a server that accepts mail for the domain, with a number in front of it called the preference. A sender tries the lowest number first and moves to the next one if that server does not answer. Two records with the same number share the load. The checker lists them in that order and resolves each host name to its IPv4 and IPv6 addresses.

When a domain has no MX record at all, senders fall back to its A or AAAA record and try to deliver there (RFC 5321, section 5.1). That is rarely what anyone wants, since the address behind a bare domain is usually a web server.

Records that break delivery

An MX record has to point at a host name. A record that points at an IP address is invalid. So is one whose host name is a CNAME, which RFC 2181 forbids. Most senders follow it anyway and a few give up, so the domain receives mail from one provider while bouncing it from another. The checker flags both cases, and a host name that does not resolve at all, which can mean a migration left an old server behind.

A null MX, a single record of 0 followed by a dot, says the domain accepts no mail (RFC 7505). It is the right answer for a domain that neither sends nor receives mail, and senders stop trying at once instead of retrying for days. A domain you send from should not have one: replies and bounces need somewhere to go.

Why a sending domain needs working MX

Bounces and replies go back to domains, so a domain you send from has to be able to receive. The domain in the Return-Path collects bounces, the From domain collects replies, and some receivers check whether these domains accept mail before taking a message from them. A sending subdomain with no MX and no A record can look like a made-up domain.

The checker also looks for MTA-STS and TLS-RPT records next to the MX list. Missing them does not stop mail arriving today. With them in place, senders that support MTA-STS refuse to deliver to you without encryption, and TLS-RPT tells them where to report when that fails.

Test a real message instead

Each of these tools checks one part of your setup. The full test reads the email itself: send one message to a disposable address and get SPF, DKIM and DMARC as a receiver evaluated them, blocklists, content, both spam scores and a fix plan. Add inbox placement to see the folder it lands in at Gmail, Outlook, Yahoo and other providers.

Test your emailView sample report

Questions

How do I check MX records?

Type the domain above. The checker asks DNS for its MX records, sorts them by preference and resolves every server to its addresses. From a terminal the same lookup is dig MX example.com or nslookup -type=mx example.com, without the checks on the targets.

What does the MX priority number mean?

It is the preference, and lower numbers are tried first. A domain with 10 mx1 and 20 mx2 gets its mail at mx1 and uses mx2 only when mx1 does not answer. Equal numbers split mail between the servers. The values themselves mean nothing beyond their order, so 1 and 5 work the same as 10 and 50.

Can an MX record point to a CNAME?

No. RFC 2181 forbids it and RFC 5321 expects the target to have an address record of its own. Plenty of senders resolve the CNAME anyway, so the mistake goes unnoticed until one strict sender bounces your mail. Point the MX at the name the CNAME leads to.

What is a null MX record?

A single MX record with preference 0 and a target of just a dot. Defined in RFC 7505, it tells senders the domain does not accept email. Use it on domains that send nothing and receive nothing, parked ones included, so that mail sent there fails at once and nobody can claim the domain silently accepts it.

Do I need MX records to send email?

Strictly, sending works without them. In practice the domains in your From and Return-Path should accept mail: bounces and replies need somewhere to go, and receivers treat a sending domain that cannot receive anything as a warning sign. A subdomain used only for sending can have an MX pointing at your provider's bounce servers.

How long do MX changes take?

As long as the TTL on the old records. Senders keep the cached answer until it expires, so lower the TTL a day before a migration, then change the records, and keep the old server accepting mail until the old TTL has run out.

Common errors

Other free tools