What happens if DNS lookup fails?
Still have a question, spotted an error, or have a better explanation or a source we should cite?
You hit send on an email campaign. Five minutes later, you see it: 500 messages stuck in your queue, all bouncing to the same domain. The error says "DNS lookup failed." What's happening?
So when When you send an email, your sending server (the MTA, or Mail Transfer Agent) needs to figure out where to deliver it. That lookup happens through DNS (Domain Name System). The MTA asks DNS: "What's the mail server for @example.com?" DNS responds with an MX record, which tells the MTA exactly which server to connect to.
If that DNS lookup fails, the MTA can't find the destination. No address means no delivery. The message gets deferred and placed into the retry queue. Your sending platform will try again in a few minutes, then again, usually with increasing intervals (5 minutes, 15 minutes, an hour). If DNS keeps failing across repeated attempts, the message eventually hard bounces after the retry window expires (typically 24-72 hours, depending on your ESP).
Why DNS lookups fail:
- The recipient domain's DNS is down. Their DNS server is offline or unresponsive. Not your fault, but you still can't deliver.
- The MX record doesn't exist. The domain exists, but there's no MX record telling the world where mail should go. This happens with newly registered domains or domains that don't accept email.
- DNS misconfiguration. The MX record points to a hostname that doesn't resolve, or there's a CNAME where there should be an A record. These are recipient-side issues.
- Your DNS resolver is broken. Less common, but if your sending server can't reach its own DNS resolver, every lookup fails. This one IS your problem.
How to diagnose DNS lookup failures:
Check the bounce message first. Most ESPs will include the SMTP error code. Look for codes like:
- 450/451 (temporary): DNS timeout or temporary failure. The system will retry.
- 550 (permanent): No MX record found, or the domain doesn't accept mail.
If it's a one-off recipient, it's probably their DNS or a typo in the domain. If it's dozens or hundreds of addresses at the same domain, their DNS is likely down. If it's EVERY domain you're sending to, your DNS resolver is the problem.
To manually check if a domain has valid MX records, run this from your terminal:
nslookup -type=MX example.com
or
dig MX example.com
And if you see valid MX records when you run the lookup but your ESP says DNS failed, the issue was probably temporary.
What to do about it:
If the DNS failure is on the recipient side (no MX record, domain doesn't exist), there's nothing you can do except remove that address from your list. If it's a typo (user@gmial.com instead of user@gmail.com), catch it at signup with real-time validation.
And If your own DNS resolver is broken, contact your ESP or hosting provider. If you're running your own mail server, check that your server can reach public DNS (try pinging 8.8.8.8 or 1.1.1.1).
If you're seeing DNS failures cluster around specific domains during high-volume sends, it might be DNS rate-limiting or infrastructure overload on the recipient side. Space out your sends or reduce concurrency.
You can prevent some DNS issues by cleaning your list before sending. Invalid domains and typos get flagged during validation, so you're not wasting sending reputation on addresses that can't possibly work. (We clean lists if you need help with that ;)
Contributors
Who worked on this answer
Every name links to their profile. Every company links to their site. Real people, real accountability.