Why an email bounces even though the address looks valid
A correctly formatted address can still bounce: the mailbox may not exist, be full, or reject your server. How to read the bounce and what to check.
Published
Tool for this job: Email Address Validator
An email can bounce even when the address is correctly formatted, because format is only the first check. The mailbox may not exist, may be full or disabled, the domain may not accept mail, or the receiving server may reject your message as suspected spam. The bounce message usually says which, often with a code such as 5.1.1.
What a format check can and cannot tell you
A format check confirms the address could exist: one @, a valid local part, a real-looking domain. It catches typos such as name@gmial.com or a missing dot. A mail-server check goes one step further and asks whether the domain has mail (MX) records, meaning it is set up to receive email at all. Neither can prove that a particular mailbox exists, because most mail servers will not say so to an outsider.
The Email Address Validator does both: the format check runs in your browser, and the optional mail-server check sends only the domain name to this site’s server for a DNS lookup.
Reading the bounce
Bounce messages include a three-part status code. The first digit tells you whether to try again:
- 4.x.x — temporary. The server could not deliver right now: busy, greylisting, or a full mailbox. Your mail system usually retries automatically.
- 5.x.x — permanent. Do not keep resending without changing something.
Common permanent reasons, with typical wording:
- 5.1.1, “user unknown” or “no such user”: the domain is fine but the mailbox does not exist. Check the spelling of the part before the @, and whether the person has left the organisation.
- 5.1.2 or “domain not found”: the domain has no mail server, or does not exist.
- 5.2.2, “mailbox full”: sometimes temporary, sometimes a sign the account is abandoned.
- 5.7.x, “rejected”, “blocked” or “policy”: the receiving server refused your message — because of the content, your sending server’s reputation, or failed authentication.
Exact codes and wording vary between providers, so read the human-readable text that comes with the code too.
If it is the address
- Check for look-alike typos: gmial, hotmial, .con instead of .com, a missing letter.
- Confirm the address through another channel — a phone call, a website contact page.
- Old company addresses stop working when people leave or companies rebrand their domain.
- Plus addressing, like jane+news@example.com, works on many services but not all.
If it is your message or your server
- Your domain’s authentication. If you send from your own domain, it needs correct SPF, DKIM and DMARC records; large mailbox providers increasingly reject or filter mail without them. Your email host’s documentation explains the records to add.
- Attachments and links. Large attachments, executable files and some shortened links trigger rejections. Share a link to the file instead.
- Sending volume. Sending many messages at once from an ordinary mailbox can trip rate limits. Use a proper mailing service for newsletters.
When nothing bounces but nothing arrives
A message that is accepted but never seen has usually been filtered rather than bounced. Ask the recipient to check spam or junk, quarantine folders and any “other” or “promotions” tab, and to add your address to their contacts. Organisations may hold external mail in a central quarantine that only their IT team can release.
Checking a domain can receive mail
If you are not sure whether a domain is set up for email at all — a new business, a typo-like domain — see how to check a domain’s MX records.
Mistakes to avoid
- Resending a 5.x.x bounce unchanged, which can harm your sender reputation.
- Treating a passed format check as proof the mailbox exists.
- Keeping bounced addresses on a mailing list.
Checklist
- Bounce code starts with 4 (wait) or 5 (fix something)?
- Address spelling and domain checked?
- Domain has MX records?
- Your own domain’s SPF, DKIM and DMARC set up?