Home › SMTP error codes
SMTP error codes: what each bounce means and how to fix it
Got an email bounce with a code like 550 5.1.1 or 421 4.7.0? Find the code below for a plain-English meaning, the common causes and the fix.
Fastest way: paste the whole bounce message into the bounce message decoder. It finds every code and explains it.
Hard bounce codes
The address is bad. Don't keep sending to it.
- Hard bounce
550 5.1.1
The mailbox does not exist
- Hard bounce
550 5.1.10
Recipient not found (Microsoft 365 and Outlook.com)
- Hard bounce
550 5.1.2
The domain does not exist or cannot receive email
- Hard bounce
550 5.2.1
The mailbox is disabled
- Hard bounce
550 5.4.1
Recipient address rejected: access denied
- Hard bounce
550 5.4.4
Unable to route: no working mail server
Blocked codes
The address is probably fine. The problem is how the mail was sent.
- Blocked
550 5.7.1
Delivery not authorized: refused by policy
- Blocked
550 5.7.26
Unauthenticated email: DMARC, SPF or DKIM failed
- Blocked
550 5.7.23
SPF check failed
- Blocked
550 5.7.25
Reverse DNS (PTR record) missing
- Blocked
550 5.7.606
Banned sending IP (Microsoft)
- Blocked
550 5.7.708
Traffic not accepted from this IP (Microsoft 365)
- Blocked
550 5.7.509
DMARC reject policy failed (Microsoft)
- Blocked
550 5.7.515
Authentication level not met (Outlook.com)
- Blocked
550 5.7.27
SPF failed for a bulk sender (Gmail)
- Blocked
554 5.4.14
Hop count exceeded: possible mail loop
- Blocked
550 5.7.520
External forwarding not allowed (Microsoft 365)
- Blocked
550 5.1.8
Bad outbound sender: account blocked from sending
- Blocked
550 5.7.750
Blocked from sending from unregistered domains (Microsoft 365)
- Blocked
550 5.7.133
Group only accepts internal senders (Microsoft 365)
- Blocked
550 5.7.124
Sender not in allowed-senders list (Microsoft 365)
Temporary codes
Often fixes itself or after a small change. Your server may retry.
- Temporary
552 5.2.2
The mailbox is full
- Temporary
552 5.3.4
The message is too large
- Temporary
421 4.7.0
Temporarily deferred: try again later
- Temporary
450 4.7.1
Temporarily refused, often greylisting
- Temporary
421 4.7.28
Unusual rate of unsolicited email (Gmail)
- Temporary
421 4.7.26
Rate limited because unauthenticated (Gmail)
- Temporary
452 4.5.3
Too many recipients
- Temporary
451 4.7.650
Rate limited due to IP reputation (Outlook.com)
- Temporary
451 4.7.500
Server busy, try again later (Microsoft)
- Temporary
550 4.4.7
Message expired: delivery took too long
Sign-in problem codes
Your app or device couldn't sign in to your own mail server, so the message was never sent. Fix the sign-in settings.
- Sign-in problem
535 5.7.8
Username and password not accepted (Gmail)
- Sign-in problem
534 5.7.9
Application-specific password required (Gmail)
- Sign-in problem
535 5.7.139
Authentication unsuccessful (Microsoft 365)
- Sign-in problem
550 5.7.30
Basic authentication not supported (Microsoft 365)
- Sign-in problem
530 5.7.57
Client not authenticated to send mail (Microsoft 365)
- Sign-in problem
550 5.7.60
No permission to send as this sender (Microsoft 365)
- Sign-in problem
553 5.7.1
Sender address rejected: not owned by user
How to read an SMTP error code
Most bounce messages contain two codes: a three-digit basic code such as 550, and an enhanced code such as 5.1.1.
| First digit | Meaning | What happens |
|---|---|---|
2 | Success | The message was accepted. |
4 | Temporary failure | Your server will usually retry for a while. |
5 | Permanent failure | The message bounced. Retrying the same way won't help. |
In the enhanced code, the middle number says what kind of problem it is: 1 is the address, 2 is the mailbox, 3 is the mail system, 4 is the network or routing, 5 is the mail protocol, 6 is the message content, and 7 is security or policy.
Want the bigger picture? Read why emails bounce back and soft vs hard bounces.
Questions people ask
- What is the most common SMTP error?
- 550 5.1.1, "mailbox does not exist". It usually means a typo or a closed account.
- What is the difference between 4xx and 5xx errors?
- 4xx errors are temporary, so the sending server retries. 5xx errors are permanent, so the message bounces back.
- Where do I find the error code?
- In the bounce email you got back. Look for a line starting with 4 or 5, such as "550 5.1.1". You can paste the whole bounce into our bounce decoder.