Tools
MX record lookup
See where a domain’s mail is delivered.
Enter a domain to list its MX records in the order senders try them, with the addresses and reverse DNS behind every mail server and anything that would stop mail arriving.
How to look up MX records
- 01
Enter the domain
Type the part after the @, such as yourdomain.com. An email address or a link works too, because only the domain is read.
- 02
Read the servers in order
The table lists every mail server from the first senders try to the last, with its addresses, reverse DNS and time to live.
- 03
Fix what is flagged
Each finding says what is wrong and how to fix it. Look the domain up again once the DNS change has had time to spread.
What is an MX record?
An MX (mail exchanger) record is the DNS record that tells the rest of the internet where to deliver email for a domain. When someone writes to [email protected], their mail server looks up the MX records of yourdomain.com and connects to the server they name.
Each MX record has two parts: a priority number and the host name of a mail server. A domain can publish several, and senders always try the lowest number first.
MX records decide only where mail arrives. They have nothing to do with how your mail leaves, which SPF, DKIM and DMARC govern, so changing MX records never stops you sending.
If a domain publishes no MX record at all, senders fall back to its own A or AAAA record and try to deliver there. That rarely reaches a mail server, so every domain that receives mail should publish MX records, and one that does not should say so with a null MX.
How MX priority works
The priority, also called the preference, is a number from 0 to 65535. Lower numbers are tried first, so a record at 10 is used before one at 20. Only the order matters, not the size of the gap.
When the first server cannot be reached, the sender moves on to the next number. If every server fails, it keeps the message in its queue and retries for several days before it gives up and bounces it.
Servers that share a number are equals. Senders choose between them at random, which spreads incoming mail across them.
A backup server at a higher number helps only if it filters spam as carefully as the primary, because spammers often aim at backup servers on purpose.
MX records for common providers
These are the values each provider publishes for a standard setup. Copy the exact records from your provider’s admin console, which wins wherever it differs.
- Provider
- Google Workspace
- Priority
- 1
- Mail server
smtp.google.com- Notes
- The single record Google gives domains set up since 2023.
- Provider
- Google Workspace (older setup)
- Priority
- 1, 5, 5, 10, 10
- Mail server
aspmx.l.google.com, alt1.aspmx.l.google.com, alt2.aspmx.l.google.com, alt3.aspmx.l.google.com, alt4.aspmx.l.google.com- Notes
- Five records, aspmx first, then alt1 and alt2 at 5 and alt3 and alt4 at 10. Still valid.
- Provider
- Microsoft 365
- Priority
- 0
- Mail server
<domain>.mail.protection.outlook.com- Notes
- Your domain with dots turned into dashes, such as contoso-com. Some tenants are given a host ending in mx.microsoft instead, so copy what the admin center shows.
- Provider
- Zoho Mail
- Priority
- 10, 20, 50
- Mail server
mx.zoho.com, mx2.zoho.com, mx3.zoho.com- Notes
- US data centre. Other regions use their own domain, such as mx.zoho.eu or mx.zoho.in.
- Provider
- Proton Mail
- Priority
- 10, 20
- Mail server
mail.protonmail.ch, mailsec.protonmail.ch- Notes
- Two records, mail first and mailsec as the backup.
- Provider
- Fastmail
- Priority
- 10, 20
- Mail server
in1-smtp.messagingengine.com, in2-smtp.messagingengine.com- Notes
- Two records, in1 first and in2 as the backup.
- Provider
- iCloud Mail
- Priority
- 10, 10
- Mail server
mx01.mail.icloud.com, mx02.mail.icloud.com- Notes
- For a custom domain. Both records share priority 10.
- Provider
- Cloudflare Email Routing
- Priority
- Set by Cloudflare
- Mail server
route1.mx.cloudflare.net, route2.mx.cloudflare.net, route3.mx.cloudflare.net- Notes
- Cloudflare adds all three records with priorities of its own when you turn routing on.
- Provider
- Amazon SES
- Priority
- 10
- Mail server
inbound-smtp.<region>.amazonaws.com- Notes
- For receiving mail, and only in AWS regions where SES receives email.
The parts of an MX record
In a zone file an MX record reads: example.com. 3600 IN MX 10 mail.example.com.
nameexample.com.- The domain the record is for. Mail to any address at that domain follows it. A subdomain such as mail.example.com needs MX records of its own.
TTL3600- How many seconds resolvers may keep the answer. Lower it a day before you move mail so the change takes effect quickly, then raise it again.
priority0 to 65535- The order senders try the servers in, lowest first. Servers with the same number share the load.
mail servermail.example.com.- The host name of the server that accepts the mail. It must have its own A or AAAA record, and must not be an IP address or a CNAME.
null MX0 .- A single record with priority 0 and a dot as the host, defined in RFC 7505. It states that the domain accepts no mail, so senders bounce instead of retrying.
implicit MXA, AAAA- With no MX record at all, senders treat the domain’s own address as its mail server. Relying on it is fragile, so publish MX records or a null MX.
Common MX problems and how to fix them
The MX points at a CNAME
Some DNS hosts let you point an MX record at an alias. RFC 2181 forbids it, and some senders refuse to deliver.
How to fixPoint the MX record at the final host name, the one with its own A or AAAA record.
The MX is an IP address
An MX record must hold a host name. An address in its place is ignored or refused by most senders.
How to fixCreate an A record such as mail.yourdomain.com for the address, then point the MX record at that name.
No MX record at all
Senders fall back to the domain’s own address, usually a web server that refuses mail, so messages bounce or wait in queues.
How to fixPublish the MX records from your mail provider, or a null MX (0 .) if the domain should receive no mail.
Old records left after a move
Records from the previous provider keep receiving part of your mail, which then lands in mailboxes nobody reads.
How to fixDelete every MX record that does not belong to the new provider.
Two providers mixed together
With MX records for two providers, senders split mail between them by priority and availability, so some messages arrive in each.
How to fixKeep only the records of the provider that holds your mailboxes, unless you run a filtering service in front of it on purpose.
A mail server that does not resolve
The host named in the MX record has no A or AAAA record, often after a typo or a deleted record.
How to fixCorrect the host name, or restore its address record.
A private address
The mail server resolves to an address such as 10.x.x.x or 192.168.x.x, which works only inside one network.
How to fixPublish the server’s public address, or the host name your provider gives you.
Changes that seem to take days
Resolvers keep the old answer until its TTL runs out, so mail can reach the old servers for a while after a change.
How to fixLower the TTL to 300 seconds a day before the move, change the records, and raise it again once mail reaches the new servers.
Questions this raises
Receive mail on your own domain with Nextmail
Add your domain and Nextmail lists the MX, SPF and DKIM records it needs, then checks that they are published.
Google Workspace