See rfc2821 for the basic specification of SMTP; see also rfc1123 for important additional information.
See rfc1893 and rfc2034 for information about enhanced status codes.
Check the RFC index for further mail-related RFCs.
| Code | Meaning |
|---|---|
| 200 | (nonstandard success response, see rfc876) |
| 211 | System status, or system help reply |
| 214 | Help message |
| 220 | <domain> Service ready |
| 221 | <domain> Service closing transmission channel |
| 250 | Requested mail action okay, completed |
| 251 | User not local; will forward to <forward-path> |
| 354 | Start mail input; end with <CRLF>.<CRLF> |
| 421 | <domain> Service not available, closing transmission channel |
| 450 | Requested mail action not taken: mailbox unavailable |
| 451 | Requested action aborted: local error in processing |
| 452 | Requested action not taken: insufficient system storage |
| 500 | Syntax error, command unrecognised |
| 501 | Syntax error in parameters or arguments |
| 502 | Command not implemented |
| 503 | Bad sequence of commands |
| 504 | Command parameter not implemented |
| 521 | <domain> does not accept mail (see rfc1846) |
| 530 | Access denied (???a Sendmailism) |
| 550 | Requested action not taken: mailbox unavailable |
| 551 | User not local; please try <forward-path> |
| 552 | Requested mail action aborted: exceeded storage allocation |
| 553 | Requested action not taken: mailbox name not allowed |
| 554 | Transaction failed |
| Command | Code | Description |
|---|---|---|
| connect | ||
| 220 | <domain> Service ready | |
| 421 | <domain> Service not available, closing transmission channel | |
| HELO | ||
| 250 | Requested mail action okay, completed | |
| 500 | Syntax error, command unrecognised | |
| 501 | Syntax error in parameters or arguments | |
| 504 | Command parameter not implemented | |
| 521 | <domain> does not accept mail [rfc1846] | |
| 421 | <domain> Service not available, closing transmission channel | |
| EHLO | ||
| 250 | Requested mail action okay, completed | |
| 550 | Not implemented | |
| 500 | Syntax error, command unrecognised | |
| 501 | Syntax error in parameters or arguments | |
| 504 | Command parameter not implemented | |
| 421 | <domain> Service not available, closing transmission channel | |
| 250 | Requested mail action okay, completed | |
| 552 | Requested mail action aborted: exceeded storage allocation | |
| 451 | Requested action aborted: local error in processing | |
| 452 | Requested action not taken: insufficient system storage | |
| 500 | Syntax error, command unrecognised | |
| 501 | Syntax error in parameters or arguments | |
| 421 | <domain> Service not available, closing transmission channel | |
| RCPT | ||
| 250 | Requested mail action okay, completed | |
| 251 | User not local; will forward to <forward-path> | |
| 550 | Requested action not taken: mailbox unavailable | |
| 551 | User not local; please try <forward-path> | |
| 552 | Requested mail action aborted: exceeded storage allocation | |
| 553 | Requested action not taken: mailbox name not allowed | |
| 450 | Requested mail action not taken: mailbox unavailable | |
| 451 | Requested action aborted: local error in processing | |
| 452 | Requested action not taken: insufficient system storage | |
| 500 | Syntax error, command unrecognised | |
| 501 | Syntax error in parameters or arguments | |
| 503 | Bad sequence of commands | |
| 521 | <domain> does not accept mail [rfc1846] | |
| 421 | <domain> Service not available, closing transmission channel | |
| DATA | ||
| 354 | Start mail input; end with <CRLF>.<CRLF> | |
| 451 | Requested action aborted: local error in processing | |
| 554 | Transaction failed | |
| 500 | Syntax error, command unrecognised | |
| 501 | Syntax error in parameters or arguments | |
| 503 | Bad sequence of commands | |
| 421 | <domain> Service not available, closing transmission channel | |
| received data | ||
| 250 | Requested mail action okay, completed | |
| 552 | Requested mail action aborted: exceeded storage allocation | |
| 554 | Transaction failed | |
| 451 | Requested action aborted: local error in processing | |
| 452 | Requested action not taken: insufficient system storage | |
| RSET | ||
| 200 | (nonstandard success response, see rfc876) | |
| 250 | Requested mail action okay, completed | |
| 500 | Syntax error, command unrecognised | |
| 501 | Syntax error in parameters or arguments | |
| 504 | Command parameter not implemented | |
| 421 | <domain> Service not available, closing transmission channel | |
| SEND | ||
| 250 | Requested mail action okay, completed | |
| 552 | Requested mail action aborted: exceeded storage allocation | |
| 451 | Requested action aborted: local error in processing | |
| 452 | Requested action not taken: insufficient system storage | |
| 500 | Syntax error, command unrecognised | |
| 501 | Syntax error in parameters or arguments | |
| 502 | Command not implemented | |
| 421 | <domain> Service not available, closing transmission channel | |
| SOML | ||
| 250 | Requested mail action okay, completed | |
| 552 | Requested mail action aborted: exceeded storage allocation | |
| 451 | Requested action aborted: local error in processing | |
| 452 | Requested action not taken: insufficient system storage | |
| 500 | Syntax error, command unrecognised | |
| 501 | Syntax error in parameters or arguments | |
| 502 | Command not implemented | |
| 421 | <domain> Service not available, closing transmission channel | |
| SAML | ||
| 250 | Requested mail action okay, completed | |
| 552 | Requested mail action aborted: exceeded storage allocation | |
| 451 | Requested action aborted: local error in processing | |
| 452 | Requested action not taken: insufficient system storage | |
| 500 | Syntax error, command unrecognised | |
| 501 | Syntax error in parameters or arguments | |
| 502 | Command not implemented | |
| 421 | <domain> Service not available, closing transmission channel | |
| VRFY | ||
| 250 | Requested mail action okay, completed | |
| 251 | User not local; will forward to <forward-path> | |
| 550 | Requested action not taken: mailbox unavailable | |
| 551 | User not local; please try <forward-path> | |
| 553 | Requested action not taken: mailbox name not allowed | |
| 500 | Syntax error, command unrecognised | |
| 501 | Syntax error in parameters or arguments | |
| 502 | Command not implemented | |
| 504 | Command parameter not implemented | |
| 421 | <domain> Service not available, closing transmission channel | |
| EXPN | ||
| 250 | Requested mail action okay, completed | |
| 550 | Requested action not taken: mailbox unavailable | |
| 500 | Syntax error, command unrecognised | |
| 501 | Syntax error in parameters or arguments | |
| 502 | Command not implemented | |
| 504 | Command parameter not implemented | |
| 421 | <domain> Service not available, closing transmission channel | |
| HELP | ||
| 211 | System status, or system help reply | |
| 214 | Help message | |
| 500 | Syntax error, command unrecognised | |
| 501 | Syntax error in parameters or arguments | |
| 502 | Command not implemented | |
| 504 | Command parameter not implemented | |
| 421 | <domain> Service not available, closing transmission channel | |
| NOOP | ||
| 200 | (nonstandard success response, see rfc876) | |
| 250 | Requested mail action okay, completed | |
| 500 | Syntax error, command unrecognised | |
| 421 | <domain> Service not available, closing transmission channel | |
| QUIT | ||
| 221 | <domain> Service closing transmission channel | |
| 500 | Syntax error, command unrecognised | |
| TURN | ||
| 250 | Requested mail action okay, completed | |
| 502 | Command not implemented | |
| 500 | Syntax error, command unrecognised | |
| 503 | Bad sequence of commands |