Skip to content

SMTP Error Codes

When emails fail to deliver, you'll often see an SMTP error code. This guide explains what they mean and how to fix them.


How SMTP Codes Work

SMTP codes are 3-digit numbers:

  • 2xx - Success
  • 4xx - Temporary failure (try again later)
  • 5xx - Permanent failure (won't succeed without changes)

2xx - Success Codes

Code Meaning
220 Server ready
221 Server closing connection
250 Requested action completed
251 User not local; message forwarded
252 Cannot verify user, but will try delivery

4xx - Temporary Failures

These errors mean "try again later" - the server might accept the message on a retry.

Code Meaning What to Do
421 Service not available Server is temporarily down; retry later
450 Mailbox unavailable Mailbox busy or temporarily blocked; retry
451 Local error in processing Server had a temporary problem; retry
452 Insufficient storage Recipient's mailbox is full; wait and retry

5xx - Permanent Failures

These errors mean the message will never be delivered without changes.

500-509: Syntax Errors

Code Meaning
500 Syntax error, command not recognised
501 Syntax error in parameters
502 Command not implemented
503 Bad sequence of commands
504 Command parameter not implemented

510-519: Address Errors

Code Meaning Common Cause
550 Mailbox not found Email address doesn't exist
551 User not local Recipient moved; try different address
552 Storage exceeded Recipient's mailbox is full
553 Mailbox name invalid Typo in email address
554 Transaction failed Generic rejection; often spam-related

Enhanced Status Codes

Modern servers use enhanced codes like 5.1.1 for more detail:

X.1.X - Address Issues

Code Meaning
X.1.0 Other address status
X.1.1 Bad destination mailbox address
X.1.2 Bad destination system address
X.1.3 Bad destination mailbox address syntax
X.1.4 Destination mailbox address ambiguous
X.1.5 Destination mailbox address valid
X.1.6 Mailbox has moved
X.1.7 Bad sender's mailbox address syntax
X.1.8 Bad sender's system address

X.2.X - Mailbox Issues

Code Meaning
X.2.1 Mailbox disabled
X.2.2 Mailbox full
X.2.3 Message length exceeds limit
X.2.4 Mailing list expansion problem

X.4.X - Network Issues

Code Meaning
X.4.0 Other network or routing status
X.4.1 No answer from host
X.4.2 Bad connection
X.4.3 Routing server failure
X.4.4 Unable to route
X.4.5 Network congestion
X.4.6 Routing loop detected
X.4.7 Delivery time expired

X.5.X - Protocol Issues

Code Meaning
X.5.0 Other protocol status
X.5.1 Invalid command
X.5.2 Syntax error
X.5.3 Too many recipients
X.5.4 Invalid command arguments

X.7.X - Security/Policy Issues

Code Meaning
X.7.0 Other security status
X.7.1 Delivery not authorised
X.7.2 Mailing list expansion prohibited
X.7.3 Security conversion required
X.7.4 Security features not supported
X.7.5 Cryptographic failure
X.7.6 Cryptographic algorithm not supported
X.7.7 Message integrity failure
X.7.23 SPF validation failed
X.7.24 SPF validation error
X.7.25 Reverse DNS validation failed
X.7.26 Multiple authentication failures

Common Bounce Messages Explained

"550 5.1.1 User unknown"

The email address doesn't exist. Check for typos.

"550 5.7.1 Relaying denied"

You're trying to send through a server that won't relay for you. Check your SMTP authentication settings.

"552 5.2.2 Mailbox full"

The recipient's mailbox has no space. They need to delete emails or increase their quota.

"554 5.7.1 Message rejected due to spam content"

Your email was flagged as spam. Check your content, links, and attachments.

"421 Try again later"

The receiving server is temporarily unavailable. Your mail server will automatically retry.

"550 SPF check failed"

Your sending server isn't authorised in the domain's SPF record. Contact the domain administrator.


Troubleshooting Tips

  1. Check the email address - Typos are the most common cause of bounces
  2. Review bounce details - The full error message usually explains the problem
  3. Check your SPF/DKIM - Authentication failures cause many rejections
  4. Look at send reputation - If you're blocked, you may be on a blacklist
  5. Retry later for 4xx errors - These are temporary and often resolve themselves