How to Find the Domains in an Email List That Can't Receive Mail (Bulk MX Lookup)
Every address on a domain that has no mail server will bounce, and a bulk MX lookup finds those domains in seconds. Paste your list into the bulk MX lookup: each address is cut down to its domain, each domain is looked up once, and the ones that can't take mail (no MX, a null MX, or not registered) are flagged, with their addresses ready to copy out.
Find them with the bulk lookup
- Open the bulk MX lookup.
- Paste email addresses, domains or a CSV export: up to 100 domains a run, 500 signed in with Google.
- Press Look up MX records. Only the domains are sent for DNS lookups; the addresses stay in your browser.
- Read each domain's mail status, MX hosts with priority, and the provider named from the first host.
- Copy the addresses on domains that can't receive mail, or download the CSV.
Find them by hand
printf "github.com\nstripe.com\ngmial.com\nexample.com\nnotarealdomain-sv-1109.com\n" > domains.txt
while read -r d; do
mx=$(dig +short mx "$d" | sort -n | head -1)
rcode=$(dig mx "$d" +noall +comments | grep -o 'status: [A-Z]*' | cut -d' ' -f2)
echo "$d,${mx:-none},$rcode"
done < domains.txt
# github.com,0 github-com.mail.protection.outlook.com.,NOERROR
# stripe.com,10 aspmx.l.google.com.,NOERROR
# gmial.com,none,NOERROR
# example.com,0 .,NOERROR
# notarealdomain-sv-1109.com,none,NXDOMAIN
We ran this on 8 November 2026 in bash and zsh. Three of the five can't take mail, each for a different reason:
- gmial.com, a common typo of gmail.com, exists and has a web address but no MX record.
- example.com publishes a null MX,
0 ., which RFC 7505 defines as "this domain accepts no mail". - notarealdomain-sv-1109.com returns NXDOMAIN: the domain doesn't exist.
One edge case: RFC 5321, section 5.1 lets a sender fall back to a domain's own address when it has no MX, the "implicit MX". It's rare for real mail domains, so treat no MX as a near-certain bounce. A typo domain is better fixed than dropped; gmial.com almost always meant gmail.com.
Next step: verify the mailboxes on the domains that work
A working MX record says the domain takes mail, not that jane@ still exists there. Upload the rest of the list at /verify to check every mailbox without sending. The first 100 checks are free with a Google sign-in, no card.
Pro, $39 a month: Unlimited email verification.* Never metered, never cut off. See pricing.
*Fair use: the first 100,000 checks a month at full speed, then slower, never cut off.
Common questions
How do I check MX records for a list of domains?
Paste the emails or domains into the bulk MX lookup: up to 100 domains a run, 500 signed in with Google. Each gets its MX hosts, priority and provider, with dead domains flagged.
What is a null MX?
A single MX record of priority 0 pointing at '.', defined in RFC 7505. It's how a domain says it accepts no mail at all, so every address at it is invalid.
Can a domain with no MX record still receive mail?
RFC 5321 allows an 'implicit MX': with no MX, a sender may try the domain's own address. Few real mail domains rely on it, so treat no MX as a strong sign addresses won't work.
Are the addresses uploaded?
No. Only the domains are sent for DNS lookups; the addresses stay in your browser.
Check your list before you send
Real mailbox checks over SMTP, and nothing is sent to the address. Sign in with Google and your first 100 email checks are free, no card. Plans for bigger lists are on the pricing page.