How SMTP error codes work
SMTP error codes are 3-digit numbers returned by mail servers during the email delivery process. The first digit tells you the category:
2xx— Success. The command was accepted.3xx— Intermediate. The server needs more information (e.g., waiting for email data after DATA command).4xx— Temporary failure. Try again later.5xx— Permanent failure. Don't retry — the email was rejected.
Modern servers also return enhanced status codes (e.g., 5.1.1) that provide more specific information about the failure.
Common success codes (2xx)
| Code | Meaning | When You See It |
|---|---|---|
| 220 | Service ready | Server greeting when you connect |
| 250 | OK / Action completed | After successful EHLO, MAIL FROM, RCPT TO, or DATA |
| 235 | Authentication successful | After successful AUTH login |
| 221 | Closing connection | After QUIT command |
Temporary failure codes (4xx)
These are soft errors. The server is telling you to try again later.
| Code | Enhanced | Meaning | Action |
|---|---|---|---|
| 421 | 4.7.0 | Service not available / too many connections | Retry after 15-60 minutes |
| 450 | 4.2.1 | Mailbox busy or temporarily unavailable | Retry after 15-60 minutes |
| 451 | 4.3.0 | Server error / greylisting | Retry after 5-15 minutes (greylisting) |
| 452 | 4.3.1 | Insufficient storage | Retry later, recipient mailbox may be full |
| 454 | 4.7.0 | TLS not available | Retry without STARTTLS or check server config |
Best practice: retry 4xx errors with exponential backoff — 1 min, 5 min, 15 min, 1 hour, 4 hours. Give up after 24-72 hours of retries.
Permanent failure codes (5xx)
These are hard errors. Don't retry — the email was permanently rejected.
| Code | Enhanced | Meaning | Action |
|---|---|---|---|
| 550 | 5.1.1 | Recipient address does not exist | Remove from list permanently |
| 550 | 5.7.1 | Rejected by policy (spam, blacklist) | Check blacklists, fix authentication |
| 551 | 5.1.6 | User not local, try forwarding address | Update recipient address |
| 552 | 5.2.2 | Mailbox full / storage exceeded | Retry later or remove if persistent |
| 553 | 5.1.3 | Invalid mailbox name / syntax | Fix the email address format |
| 554 | 5.7.1 | Transaction failed (content rejected) | Check content for spam triggers |
Authentication errors
| Code | Enhanced | Meaning | Action |
|---|---|---|---|
| 530 | 5.7.0 | Authentication required | Enable SMTP authentication in your client |
| 535 | 5.7.8 | Authentication failed | Check username/password, verify credentials |
| 534 | 5.7.9 | Authentication mechanism too weak | Use a stronger auth method or enable TLS |
| 454 | 4.7.0 | TLS required for authentication | Enable STARTTLS before authenticating |
How to troubleshoot SMTP errors
- Check the full error message — the text after the code often explains the exact issue
- Look at the enhanced status code (x.y.z) for more specific information
- For 5xx errors on valid addresses, check your SPF/DKIM/DMARC authentication
- For 4xx errors, implement retry logic with exponential backoff
- For 550 5.7.1 rejections, check blacklists at MXToolbox or MultiRBL
- For 421 rate limiting, reduce your sending rate or spread sends over time
SMTP errors with RelayPost
RelayPost handles SMTP error processing automatically:
- Hard bounces (5xx) are automatically added to your suppression list
- Soft bounces (4xx) are retried with exponential backoff
- Delivery status is available in real time via the dashboard and webhooks
- Bounce and complaint webhooks notify your application of failures
Related guides
Frequently asked questions
What does SMTP error 550 mean?
SMTP 550 means the recipient's mail server permanently rejected your email. Common reasons include: the recipient address doesn't exist (550 5.1.1), your domain is blacklisted (550 5.7.1), or the recipient's server has a policy blocking your email. This is a hard bounce — don't retry.
What does SMTP error 421 mean?
SMTP 421 means the receiving server is temporarily unavailable or is rate-limiting your connection. This is a soft error — retry after a delay (typically 15-60 minutes). If it persists, the receiving server may be throttling you due to volume or reputation concerns.
What's the difference between 4xx and 5xx SMTP errors?
4xx errors are temporary — the server is telling you to try again later. 5xx errors are permanent — the server is rejecting your email definitively. Retry 4xx errors with exponential backoff. Remove addresses that return 5xx errors (especially 550).
How do I fix SMTP error 554?
SMTP 554 means the transaction failed, usually due to content filtering or policy rejection. Check if your email content triggers spam filters, verify your authentication (SPF/DKIM), and check if your sending IP or domain is blacklisted.
Stop debugging SMTP errors
RelayPost handles retries, bounces, and suppression automatically. Start free.
Get Started Free