Simple Main Transfer Protocol (SMTP) Status Codes, Extended Simple Mail Transfer Protocol (ESMTP)

In SMTP Status Codes and Extended Simple Mail Transfer Protocol (ESMTP) lesson, you can learn the status codes used by Simple Mail Trasfer Protocol SMTP and Extended Simple Mail Transfer Protocol (ESMTP).

Simple Main Transfer Protocol (SMTP) Status Codes

The following table lists the possible status codes (or commands) exchanged between Simple Mail Transfer Protocol (SMTP) Server and an Simple Mail Transfer Protocol (SMTP) client.

SMTP Status Codes Description
211 Help reply - system status
214 Help message
220 Service ready
221 Closing connection
250 Requested action okay
251 User not local - forwarding to <path>
354 Start mail input
421 Service not available
450 Action not taken - mailbox busy
451 Action aborted - local error
452 Action not taken - insufficient storage
500 Command unrecognized or syntax error
501 Syntax error in parameters or arguments
502 Command not supported
503 Bad sequence of commands (given out of order)
504 Command parameter not supported
550 Action not taken - mailbox unavailable
551 Not a local user
552 Aborted: Exceeded storage allocation
553 Action not taken - mailbox name not allowed
554 Transaction failed

Extended Simple Mail Transfer Protocol (ESMTP)

While using Extended Simple Mail Transfer Protocol (ESMTP) a client who wishes to use the new features initiates the session with the server by issuing an EHLO command, instead of HELO. A compatible server responds with a 250 reply code. This reply is normally multiline, with each line containing a keyword and an optional argument. These keywords specify the SMTP extensions supported by the server. If the server does not support Extended Simple Mail Transfer Protocol (ESMTP), it provides an error (500 Command not recognized) and the sending host reverts back to SMTP. Simple Mail Transfer (SMTP) Service extensions are defined in RFC 1869.

An example for ESMTP command is the SIZE command. SIZE command allows a receiving host to limit the size of incoming messages. The following extensions are normally listed.

250-EXPN - The Expand extension EXPN can be used to request, or expand, a mailing list on the remote server.

250-VERB - The VERB (Verbose) extension will cause the server to work in verbose mode of communication with other server.

250-8BITMIME - The 8BITMIME extension facilitates the exchange of e-mail messages containing octets outside the seven-bit ASCII range.

250-SIZE - The SIZE extension is designed for specifying the maximum size of the message in bytes. The server returns a SIZE extension with a numeric parameter, which will provide decimal specification of the maximum message length to accept (message length includes line terminations, but not the DATA command).

250-DSN - SMTP Service Extension for Delivery Status Notifications.

250-ONEX - One message transaction only

250-ETRN - The ETRN (Extended Turn) extension enables a mail server to request a second mail server to forward outstanding mail messages to it.

In this lesson you have learned Simple Mail Transfer Protocol (SMTP) status codes and Extended Simple Mail Transfer Protocol (ESMTP). Click "Next" to continue.

Related Tutorials
• Simple Mail Transport Protocol (SMTP) - How SMTP Works?
• Simple Mail Transport Protocol (SMTP) Client - Server Communication
• Dynamic Host Configuration protocol (DHCP How DHCP Works)