SMTP 550 5.1.1: The Mailbox Does Not Exist

550 5.1.1 is a permanent SMTP rejection, commonly logged and bounced back as "user unknown". The receiving server looked up the recipient address and found no mailbox behind it. The message will never be delivered, retrying will not change the answer, and the address should come off your list. The 550 is the three-digit reply code. The 5.1.1 is the enhanced status code that says which part of the delivery failed.

The two numbers come from different specifications. RFC 5321 defines 550 as "Requested action not taken: mailbox unavailable" and puts it in the 5yz class, where the client "SHOULD NOT repeat the exact request". RFC 3463 defines the enhanced code 5.1.1 as "Bad destination mailbox address", and says it "is only useful for permanent failures".

What does a 550 5.1.1 bounce look like?

The code is standard. The text after it is written by whoever rejected the message.

Why does it happen?

The mechanics are ordinary:

What should a sender do?

Stop sending to that address. RFC 5321 puts 5yz replies in the do-not-repeat class, so the retry is wasted. Suppress the address, and pull it from whatever source produced it, or it comes back on the next import.

Hard bounces feed sender reputation. SendGrid recommends generating hard bounces from fewer than 5% of attempted messages, while stating that "there is no exact number or percentage of hard bounces that causes deliverability issues". That is one ESP's guidance, not a threshold anyone enforces. Google's published bulk-sender number is a spam-complaint rate, which measures something else.

What should a receiving admin check?

Three things, in order.

That the mailbox exists, that the username matches the address the sender used, and on Exchange Online that the account holds an active license. Then routing: a recipient's forwarding rule or an admin transport rule can redirect mail to an invalid downstream address and bounce it even though the typed address was correct. Then recipient filtering. Microsoft's Directory-Based Edge Blocking rejects invalid recipients at the service perimeter before spam or malware filtering runs, and returns 550 5.4.1 Recipient address rejected: Access denied rather than a 5.1.1.

Which codes get confused with 550 5.1.1?

The full SMTP reply code list covers the rest.

Does verifying an address first prevent this?

Usually, not always. An SMTP probe issues RCPT TO and reads the same lookup that produces the bounce, without sending a message. A catch-all domain answers 250 for every local part. A greylisting server rejects first contact temporarily whether the address is real or not. Trueguard's email validation returns those cases as ambiguous rather than guessing.

Frequently Asked Questions

Treat it as final. RFC 5321 places 5yz replies in the class the client "SHOULD NOT repeat", and adds that 5yz responses to the MAIL command "MUST NOT be cached".

The leading digit. A code starting with 5 is a hard bounce and the message is dead unless you resend it after fixing the cause. A code starting with 4 means the receiving system considers the problem temporary, so the message stays queued. RFC 5321 asks senders to wait at least 30 minutes before the first retry and to keep trying for at least four to five days before giving up.

No. A catch-all domain is configured to answer 250 to RCPT TO for every local part, whether a mailbox exists or not, and nothing in the SMTP response tells you which kind of domain you are talking to. Code 252 is the explicit version of the same limitation: the server states that it cannot verify the user but will accept the message and attempt delivery.

No. 5.1.1 is an addressing failure, not a policy decision about you. Policy rejections carry different enhanced codes: Microsoft documents 5.7.1 for delivery not authorized, relay refused and missing authentication, and 5.1.8 "Access denied, bad outbound sender" for an account blocked for sending too much spam, typically after being compromised. Read the enhanced status code, not the free text, to tell the two apart.

Trueguard Basic is free.

Start identifying visitors and signals right away, for free

Sign up for free

No credit card required.

trueguard-logo© 2026 Trueguardinfo@trueguard.io