🧹 List Hygiene & Validation

SMTP 550 5.1.1 Bounce Code: What It Means and How to Fix It

550 5.1.1 means the recipient mailbox does not exist. Learn how to read the code, tell it from 5.1.2, 5.2.2 and 5.7.1, and clean your list correctly.

Illustration of an email envelope returning from a closed mailbox slot with a bounce marker
Quick answer

550 5.1.1 is a permanent rejection: the receiving server says the mailbox in the address does not exist. Do not retry. Check the address for typos, then remove it from your list. If you are the recipient and mail to a real mailbox bounces, look at MX records and whether the mailbox was provisioned on the current mail platform.

A bounce reading 550 5.1.1 is the receiving server answering your message with one specific sentence: this mailbox does not exist here. It is the most common hard bounce, and the fix depends on which side of the message you are on.

What 550 5.1.1 actually says

The code has two parts that come from two different standards. 550 is the SMTP reply code from RFC 5321, used when a mailbox is unavailable and a failure should be reported as permanent. 5.1.1 is the enhanced status code from RFC 3463, written as class.subject.detail.

PartValueMeaning
Class5Permanent failure: resending the same message is not likely to succeed
Subject1Addressing problem
Detail1Bad destination mailbox address: the mailbox in the address does not exist

The IANA registry adds a useful nuance: X.1.1 usually points at the local part, the text before the @. The domain was found and answered; it just did not recognise that user.

How to read the full bounce line

Servers wrap the code in free text that differs by provider, so match on the numbers, not the wording. Gmail, Exchange and smaller hosts phrase the same condition differently: "user unknown", "recipient address rejected" or "the email account that you tried to reach does not exist". Look at the diagnostic line in the delivery status notification, usually written as Diagnostic-Code: smtp; 550 5.1.1 ..., and at the Final-Recipient field to see which address failed. If you are unsure how to find those fields, the guide on reading email headers shows where they sit.

Email ValidatorSyntax, MX, disposable and typo checks, single or bulkOpen the tool →

5.1.1 versus the codes it is confused with

Several bounce codes look similar but need a different response. Treating them all as "bad address" either throws away good contacts or keeps dead ones.

CodeRegistry meaningWhat to do
5.1.1Bad destination mailbox addressFix a typo if obvious; otherwise suppress the address
5.1.2Bad destination system address: the domain does not exist or cannot accept mailCheck the domain spelling; suppress if the domain is dead
5.1.3Destination address has invalid syntaxFix the format at the point of collection
5.1.6Mailbox has moved, no forwarding addressSuppress; look for a new address through another channel
5.2.2 / 4.2.2Mailbox full; RFC 3463 says to use it as a persistent transient failureTreat as soft: retry later, suppress only after repeated failures
5.7.1Delivery not authorized, message refusedNot a list problem: look at your sender reputation, authentication and content

If you sent the message: a four-step fix

Read code5.1.1 or other?Typo?fix or keepVerifyanother channelSuppressif unverified
Triage order for a 550 5.1.1 bounce
  1. Read the address, character by character. Common slips are gmial.com, a trailing period, a space or a comma. Google lists typos and stray spaces among the causes of its "address doesn't exist" bounce.
  2. Correct only obvious typos. A one-letter domain misspelling is safe to fix. Guessing at the local part (jon@ versus john@) is not: you may mail a stranger.
  3. Suppress the address if it still bounces or you cannot verify it. Retrying a permanent failure does nothing and lowers the share of your list that can be reached.
  4. Find the source. If many 5.1.1 bounces trace back to one sign-up form or one import file, fix the intake: add address validation at entry and a confirmation step.

A worked example: sorting 96 bounces

You send to 8,000 contacts and receive 96 bounce notices. Sort them by enhanced code before touching the list:

CodeCountActionShare of 8,000 sent
5.1.171Suppress0.89%
5.1.29Suppress0.11%
4.2.211Retry next send0.14%
5.7.15Investigate sender side0.06%

The permanent address failures are 71 + 9 = 80 addresses, which is 80 ÷ 8,000 = 1.00% of the send. The 5 policy rejections are not evidence of bad addresses, so removing them would delete real subscribers. The 11 mailbox-full cases are not removed yet. To compare these figures with other metrics, see bounce and complaint rates.

Email List CleanerRemove duplicates and invalid addresses, fix typos and split by providerOpen the tool →

If you are the recipient and real mail bounces

When people report 5.1.1 for an address you know exists, the sender is not at fault. Work through these on your side:

  • Was the mailbox or alias created on the platform that now receives mail? After a migration, mail can land on a system that never received the account.
  • Are MX records pointing at the right host? Old MX entries send mail to the previous provider, which answers that the user is unknown.
  • Is the address a distribution list or shared mailbox restricted to authenticated senders? External senders can be rejected with a code that looks like unknown user depending on the platform's settings.
  • Was the account recently renamed? Add the old address as an alias.

The MX and syntax layers of address checking are explained in how email validation works.

Common mistakes

  • Retrying a 5xx. RFC 3463 describes a permanent failure as one not likely to be resolved by resending. Retries are for 4xx.
  • Suppressing on a single soft bounce. Mailbox-full and temporary server errors often clear up.
  • Ignoring the subject digit. Dozens of different failures begin with 550; the second part is what separates them.
  • Assuming a bounce notice you did not trigger is a problem. If you did not send the message, the notice can be backscatter from someone who forged your address; there is nothing to fix on your list.

For a broader list-maintenance routine, see email list hygiene.

Frequently asked questions

What does 550 5.1.1 mean in plain terms?

The receiving mail server found the domain but has no mailbox for the name before the @. It is a permanent failure, so the message is not queued for another attempt.

Is 550 5.1.1 a hard bounce or a soft bounce?

A hard bounce. The first digit 5 marks a permanent failure in RFC 3463, which says resending the message in its current form is unlikely to help.

Can a valid address return 550 5.1.1?

Yes, when the recipient domain has misrouted mail, such as old MX records after a migration, or a mailbox that was never created on the new platform. The sender sees the same code.

How is 5.1.1 different from 5.1.2?

Per the IANA registry, 5.1.1 means the mailbox part of the address is bad, while 5.1.2 means the destination system, the domain, does not exist or cannot accept mail.

Should I retry a message that bounced with 5.1.1?

No. Correct an obvious typo and send again to the corrected address, otherwise remove the address from your list.

References & further reading

  1. RFC 3463 — Enhanced Mail System Status Codes
  2. IANA — Enhanced Status Codes registry
  3. RFC 5321 — Simple Mail Transfer Protocol
  4. Google — Fix bounced or rejected Gmail messages

Related articles

List Hygiene & Validation

How to Validate Email Addresses in Bulk: What Syntax, MX and SMTP Checks Really Prove

How to validate email addresses in bulk: the layers from syntax and MX records to SMTP probing, what each proves and how to avoid hurting reputation.

7 min read
Measurement & Testing

Email A/B Test Sample Size: How Many Subscribers You Need for a Reliable Result

How to calculate email A/B test sample size and read significance correctly: baseline, minimum effect, power, duration and common mistakes.

6 min read
Measurement & Testing

Email Marketing Metrics Formulas: How to Calculate Open Rate, CTR, CTOR and Bounce Rate

Exact formulas for open rate, CTR, CTOR, bounce, unsubscribe and complaint rate, with a worked example and the pitfalls that distort them.

7 min read

Newest tools

Recently added free tools — they run in your browser without uploading your data

All tools →

Format, minify and validate JSON with error line/column, duplicate-key detection and exact large numbers

Local

Literal or regex find and replace with named groups and two chained rules

Local

Remove consecutive or all repeated words with an exclusion list and Arabic support

Local