What 550 5.1.1 means
A 550 5.1.1 bounce means the recipient's mail server does not have a mailbox for the address you wrote to. The basic code 550 is a permanent failure. In the enhanced status code (RFC 3463), subject 1 is addressing and 5.1.1 is "bad destination mailbox address": the domain is fine, the part before the @ is not.
Gmail's version reads:
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces.
Other servers say "User unknown", "Recipient address rejected: User unknown in virtual mailbox table" (Postfix) or "RecipientNotFound" (Microsoft 365). The meaning is the same.
Common causes
- A typo in the local part:
jhon@instead ofjohn@, a stray space or a missing letter. - The person left and their mailbox was deleted.
- An old list. Addresses go stale; mailing them repeatedly hurts your reputation.
- A misconfigured receiving server: the domain moved to a new provider but the mailbox was not created there, or the MX records still point at the old one.
- Aliases or groups that were removed or never set up on the new system.
- Backscatter: if you received a 5.1.1 for a message you never sent, someone forged your address. Strict SPF and DMARC make that less likely to be accepted elsewhere.
What to do as a sender
- Check the address for typos and confirm it with the recipient another way.
- Don't retry. A 550 is final, and sending to the same address again counts against you.
- Remove hard bounces from lists right away. Email services do this automatically; if you send yourself, process bounces and suppress those addresses.
- Use confirmed opt-in for signups so typos never reach your list.
What to do as the domain owner
If people tell you they get 5.1.1 for an address that should exist:
- Confirm the mailbox or alias exists in your provider's admin panel, including the exact spelling.
- Check where mail goes. The domain's MX must point at the provider that holds the mailbox:
dig example.com MX +short
- After a migration, look for leftover MX records from the old provider and wait out the TTL. The DNS Propagation Checker shows whether resolvers still return old servers.
- On Postfix, test the lookup that rejects the address:
postmap -q john@example.com hash:/etc/postfix/virtual
- Catch-all: accepting every address avoids 5.1.1 but attracts spam. Prefer explicit aliases.
To read the bounce itself (which server rejected it, and when), paste it into the Email Header Analyzer.
Related
- 552 5.2.2: the mailbox exists but is full.
- 550 5.7.1: refused for policy reasons.
- MX record: where a domain receives mail.
Check the recipient domain's MX records with the DNS Lookup, or its whole email setup with the Email Checker.