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.

Ask an AI · tailored to your setup

Get DNS troubleshooting help

I read this on the Email Almanac about DNS lookup failures: "When you send an email, your server asks DNS for the recipient domain's mail server address (MX record). If that lookup fails, the email gets deferred and retried. If DNS keeps failing, it eventually bounces. Common causes: recipient DNS is down, no MX record exists, DNS misconfiguration, or your own DNS resolver is broken." Help me apply this to MY specific situation: 1. Diagnosis questions: - Are DNS failures happening to one domain, a few domains, or ALL domains I'm sending to? - What SMTP error codes am I seeing in the bounce messages? - Can I manually look up MX records for the failing domains? 2. Action steps based on my answers: - If it's one recipient: How do I verify their domain's DNS is valid? - If it's one domain with many recipients: What does this mean and should I wait or remove them? - If it's every domain: How do I check if my DNS resolver is broken? 3. Prevention: - How can I catch invalid domains before sending? - Should I validate my list, and if so, how? 4. Monitoring: - What should I watch for to detect DNS issues early? - How do I differentiate DNS failures from other delivery problems? --- My details (fill in what applies): - Email platform/ESP: e.g. Mailchimp, SendGrid, self-hosted Postfix - Affected domain(s): which recipient domains are failing - Error codes I'm seeing: e.g. 450, 451, 550 - Scale of the problem: one recipient, one domain, all domains - Sending volume: e.g. 10,000/day - Current challenge: describe what you're seeing

Edit the yellow boxes, then send to the AI of your choice.