SMTP bounce codes
When a message cannot be delivered, the receiving server answers with a reply code, and the bounce message you get back quotes it. This dictionary explains the codes senders meet most often: what each one means, its usual causes, how the large mailbox providers use it where they document it, and how to fix it. Each page cites the standards behind the code.
How to read a bounce code
A bounce line such as 550 5.1.1 The email account that you tried to reach does not exist holds two codes.
- The basic reply code (
550) comes from SMTP itself, RFC 5321 §4.2. Its first digit says how the attempt ended:2accepted,4a temporary failure (the sending server keeps the message and tries again later),5a permanent failure (it gives up and returns the message to you). - The enhanced status code (
5.1.1) comes from RFC 3463 and names the problem more precisely, as class.subject.detail. The class repeats temporary (4) or permanent (5); the subject says where the problem sits: the address (X.1), the mailbox (X.2), the mail system (X.3), network and routing (X.4), the protocol (X.5), the content (X.6) or security and policy (X.7). IANA keeps the registry of enhanced status codes. - The text after the codes is written by the receiving server. It is often the most useful part: providers such as Gmail and Microsoft 365 use one code for several causes and tell them apart in the text.
Some providers also use enhanced codes that are not in the registry, or give a registered code a meaning of their own. The pages below say so where it applies.
Hard and soft bounces
Senders usually call a permanent (5.x.x) failure a hard bounce and a temporary (4.x.x) one a soft bounce. The split matters for your list: a hard bounce because the address does not exist (such as 550 5.1.1) means you should stop sending to that address. A permanent refusal for policy reasons (such as 550 5.7.26, failed authentication) is about your sending setup, not the address: fix the cause, and keep the address. Our guide to reducing your bounce rate covers both.
The codes
Other or undefined status (X.0.x)
- 5.0.350: Generic error from the recipient’s server (Microsoft 365 report)
Addressing status (X.1.x)
- 550 5.1.1: The recipient mailbox does not exist
- 553 5.1.2: The recipient domain does not exist or takes no mail
- 553 5.1.3: The recipient address is not valid syntax
- 5.1.6: The mailbox has moved and left no forwarding address
- 553 5.1.7: The sender's address is not valid syntax
- 5.1.8: The sender's domain is refused
- 550 5.1.10: Recipient not found (Microsoft 365)
- 556 5.1.10: The recipient domain publishes a null MX: it takes no mail
Mailbox status (X.2.x)
- 450 4.2.1: The recipient is receiving mail too fast: try later (temporary)
- 550 5.2.1: The mailbox is disabled and takes no mail
- 452 4.2.2: The mailbox is full (temporary)
- 552 5.2.2: The mailbox is full (or, in Microsoft 365, the sender is over quota)
Mail system status (X.3.x)
- 552 5.3.4: The message is too big
Network and routing status (X.4.x)
- 5.4.4: Unable to route: no mail server found for the domain
- 4.4.7: The message expired in the queue (temporary)
- 554 5.4.6: A mail loop was detected
- 5.4.1: Recipient address rejected: access denied (Microsoft 365)
- 550 5.4.5: The sender reached a daily sending limit (Google)
Mail delivery protocol status (X.5.x)
- 452 4.5.3: Too many recipients in one message (temporary)
- 550 5.5.0: Mailbox unavailable at Outlook.com or Hotmail
- 503 5.5.1: Commands sent in the wrong order
- 501 5.5.4: Invalid HELO/EHLO or command arguments
Message content or media status (X.6.x)
Security or policy status (X.7.x)
- 421 4.7.0: Temporarily refused: reputation, DNS or TLS (temporary)
- 451 4.7.1: Temporarily deferred, often greylisting (temporary)
- 530 5.7.0: Authentication or STARTTLS required
- 535 5.7.8: Username and password not accepted
- 550 5.7.1: Delivery not authorized: refused for policy reasons
- 550 5.7.23: SPF validation failed
- 550 5.7.25: Reverse DNS (PTR) check failed
- 550 5.7.26: Unauthenticated: SPF and DKIM failed, or DMARC rejected it
- 550 5.7.27: SPF failed for a bulk sender (Gmail), or the sender has a null MX
- 421 4.7.28: Unusual sending rate or unsolicited mail: rate limited (temporary)
- 550 5.7.29: TLS required for bulk senders (Gmail)
- 550 5.7.30: DKIM failed for a bulk sender (Gmail)
- 5.7.32: From: domain not aligned with SPF or DKIM (Gmail)
- 550 5.7.40: No DMARC policy for a bulk sender (Gmail)
- 5.7.57: Client not authenticated to send anonymous mail (Microsoft 365)
- 5.7.64: TenantAttribution: relay access denied (Microsoft 365)
- 5.7.124: Sender not in the group’s allowed senders (Microsoft 365)
- 5.7.133: The group or mailbox takes no mail from outside (Microsoft 365)
- 5.7.367: Remote server says not permitted to relay (Microsoft 365)
- 5.7.509: DMARC failed and the domain’s policy is reject (Microsoft 365)
- 5.7.520: External forwarding is not allowed (Microsoft 365)
- 5.7.606: Banned sending IP (Microsoft)
- 5.7.708: Tenant traffic not accepted from this IP (Microsoft 365)
- 5.7.750: Blocked from sending from unregistered domains (Microsoft 365)
Checking addresses before you send helps avoid the bounces caused by addresses that do not exist: try the free email checker, or clean a whole list.