List of SMTP response and error codes
The SMTP protocol (Simple Mail Transfer Protocol) is a standard for sending E-mail messages. The SMTP protocol cannot be used for receiving. The IETF (Internet Engineering Task Force) keeps the standard in document RFC 5321.
SMTP is a challenge-response type protocol. Meaning that the client sends a challenge and the server responds. A response always starts with a 3 digit code which contains the general meaning of the response.
The first digit of an SMTP server response determines the response category:
- 2xx (Success): The action was successful.
- 3xx (Additional data required): Need more information.
- 4xx (Transient Error): The action was unsuccessful but it makes sense to try again later.
- 5xx (Permanent Error): The action was unsuccessful and it does not make sense to try again.
200 – Success codes
| Code | Description |
| 211 | System status, or system help reply |
| 214 | Help/Info message; Intended for the human user |
| 220 | Service ready |
| 221 | Service closing transmission channel |
| 250 | Requested mail action completed |
| 251 | User not local; message will be forwarded |
| 252 | Cannot verify user, but will accept message and attempt delivery |
300 – Additional data required
| Code | Description |
| 354 | Start mail input; The server expects the e-mail body |
400 – Transient errors
| Code | Description |
| 421 | Service not available, closing transmission channel; When the server is shutting down |
| 450 | Requested mail action not taken: mailbox unavailable (e.g., mailbox busy or temporarily blocked for policy reasons) |
| 451 | Requested action aborted: error in processing |
| 452 | Requested action not taken: insufficient system storage |
| 455 | Server unable to accommodate parameters |
500 – Permanent errors
| Code | Description |
| 500 | Syntax error, command unrecognized (This may include errors such as command line too long) |
| 501 | Syntax error in parameters or arguments |
| 502 | Command not implemented |
| 503 | Bad sequence of commands |
| 504 | Command parameter not implemented |
| 550 | Requested action not taken: mailbox unavailable (e.g., mailbox not found, no access, or command rejected for policy reasons) |
| 551 | User not local; The server will not forward |
| 552 | Requested mail action aborted: exceeded storage allocation |
| 553 | Requested action not taken: mailbox name not allowed (e.g., mailbox syntax incorrect) |
| 554 | Transaction failed (Or, in the case of a connection-opening response, “No SMTP service here”) |
| 555 | MAIL FROM/RCPT TO parameters not recognized or not implemented |