---
title: "SMTP 550 — permanent failure codes and what to do with each"
canonical: https://pulsepigeon.com/blog/smtp-550-permanent-failure
last_updated: 2026-08-26
---

# SMTP 550 — permanent failure codes and what to do with each

A 550 response means the mailbox rejected the message and is asking you not to retry. Decode the common sub-codes and the right operational response for each.

SMTP 550 is the catch-all 'permanent failure' code: the receiving server is telling you the message was not accepted and you should not retry it as-is. The actual reason is in the enhanced mail status code (the X.7.x or X.1.x code that follows).

550 5.1.1 'user unknown': the recipient address does not exist. Suppress it immediately and never retry. This is the most common 550 and the right response is to remove the address from your list.

550 5.7.1 'relay denied': the SMTP server is not authorized to relay for that client or recipient route. Check submission credentials, relay authorization, and recipient or domain routing first; then use the provider's diagnostic text to decide whether authentication policy also needs attention. Read the [SMTP relay guide](/smtp-relay) for submission context. The separate [HTTP API error reference](/docs/errors) describes API responses, not SMTP reply codes.

A 5.7.x reply is a policy or security rejection, but the accompanying text is provider-specific. Inspect authentication, reputation, content policy, and the recipient organization's guidance before deciding whether a corrected message may be retried.

PulsePigeon records hard-bounce and complaint suppressions in tenant-scoped stores. Provider feedback is normalized into delivery events, which also feed the warm-up and reputation gates without exposing another tenant's addresses.
