5.1.2
SMTPERRORNotableAddressingHIGH confidence

Bad destination system address — domain does not exist or has no MX record

Production Risk

Medium — invalid domains inflate bounce rates and harm sender reputation.

What this means

The destination domain either does not exist in DNS or has no valid MX (Mail Exchanger) records. The message cannot be delivered because there is no mail server to receive it.

Why it happens
  1. 1The domain in the recipient address is misspelled or does not exist.
  2. 2The domain has expired and its DNS records have been removed.
  3. 3The domain exists but has no MX records configured.
How to reproduce

Sending mail to an address whose domain has no resolvable MX record.

trigger — this will error
trigger — this will error
RCPT TO:<user@nonexistentdomain.example>
# Server returns:
550 5.1.2 Bad destination mailbox address

expected output

550 5.1.2 ...

Fix

Validate domain MX records before sending

WHEN Before adding an address to your list or on bounce

Validate domain MX records before sending
# Check MX records for a domain
dig MX example.com +short
# Or in Node.js:
dns.resolveMx('example.com', (err, addresses) => { ... });

Why this works

DNS MX lookup at list signup time prevents invalid domains from entering your database.

What not to do

Retry delivery to a domain with no MX

Without an MX record the domain cannot receive email. This is a permanent failure.

Sources
Official documentation ↗

RFC 3463 — Enhanced Mail System Status Codes

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All SMTP errors