No MX or A record — the recipient's domain has no mail server
Retrying will not help. The message will not be delivered.
The reply
No MX or A record for <domain>The domain after the @ publishes nothing that accepts mail. There is no server to connect to, so the message was never sent anywhere. Nine times out of ten the address is simply misspelled.
What it means
Delivering mail starts with a DNS lookup: the sending server asks for the recipient domain's MX records and, failing that, falls back to its A record. If neither exists there is no destination and the failure is immediate and permanent — no SMTP conversation took place and no provider ever saw the message. This is one of the few failures with no reputation cost at all, because nobody was there to judge you.
Why it happens
- A typo in the domain — gmail.con, gmai.com, gail.com, hotmial.com. This is the overwhelming majority.
- The domain expired or was never registered.
- A real domain that simply does not receive mail, such as one used only for a website.
- MX records removed during a migration, or a zone published without them.
- A newly created domain whose DNS has not propagated yet.
What to do
- Check the spelling of the domain first. A did-you-mean check against the common providers catches almost all of these.
- Validate the domain at the point of collection, not at send time — look up the MX record when the address is entered and reject it in the form.
- Suppress the address. There is nothing to retry against.
- If it is your own domain, publish an MX record pointing at whoever receives your mail.
- For a brand-new domain, allow for DNS propagation before assuming the record is wrong.
Questions
Does this hurt my sending reputation?
No. No mail server was contacted, so nobody formed an opinion. It does waste the message, and a high rate of it says your signup form is not validating what people type.
What if the domain has a website?
A website needs an A record; mail needs an MX record. A domain can serve a site perfectly and accept no mail at all — they are separate records and separate services.
How do I stop collecting these?
Check the domain has an MX record while the person is still in the form, and offer a correction for the common misspellings. Catching it there costs one DNS lookup; catching it at send time costs a message and a support ticket.