How SMTP Communication Works
SMTP is a conversation between mail servers. Each command from the sending server gets a three-digit reply code from the receiving server.
Reply Code Classes
2xx — Success
- 220 — Server ready (greeting)
- 250 — Requested action completed (most important success code)
- 235 — Authentication successful
3xx — Intermediate
- 354 — Start mail input. Server is ready to accept the email body.
4xx — Temporary Failure
- 421 — Service not available, try again later
- 450 — Mailbox temporarily unavailable (greylisting)
- 451 — Requested action aborted, local error
5xx — Permanent Failure
- 550 — Mailbox not found / does not exist
- 551 — User not local
- 552 — Message size exceeded
- 553 — Mailbox name not allowed
- 554 — Transaction failed (often spam rejection)
Handling Bounces
- Soft bounce (4xx): Temporary issue. Retry delivery later (most servers retry for 48-72 hours).
- Hard bounce (5xx): Permanent failure. Remove the address from your list.
Common Delivery Issues
- 550 5.7.1 — Message rejected (spam, SPF fail, DKIM fail)
- 421 4.7.0 — Rate limited by receiving server
- 552 5.2.2 — Mailbox full