Common SMTP Status Codes

What is SMTP?

At its core, SMTP is a set of rules and conventions that define how email messages should be structured, transmitted, and received between mail servers. It establishes a reliable and efficient means of communication between different email systems. SMTP ensures that emails get sent and received properly, just like sending letters in the mail.

SMTP operates on the client-server model, where an SMTP client (sender) initiates a connection with an SMTP server (receiver) to transfer the email. The client-server interaction follows a series of commands and responses. The SMTP server responds to each command with a corresponding status code, indicating the success or failure of the operation. These status codes provide feedback to the client about the progress and outcome of the email delivery process. Below you will find a list of common SMTP status codes and the definition of the code.

 

2xx - Success

SMTP 200 status codes indicate successful responses from the server. The requested action or command was successfully processed and completed.

 

[ 220: Service ready ] - The SMTP server is ready to accept a new connection.

[ 250: OK ] - Requested mail action completed: The email delivery or action was successful

[ 211: System status, or system help reply ] - Provides information about the status of the SMTP server or provides a system help message. It typically includes details about the server's capabilities, status, or helpful information for the client.

[ 214: Help message ] - In response to the client's HELP command. It provides a help message or additional information that can assist the client in understanding the server's capabilities or commands.
[ 220: Service ready ] - When a client connects to an SMTP server, the server responds with this code to indicate that it is ready to accept commands and process email

[ 221: Service closing transmission channel ] - The server sends this code to notify the client that the SMTP session is ending and the transmission channel is being closed. It's like saying goodbye and ending the communication

[ 235: Authentication successful ] - If the client authenticates itself successfully with the server using a username and password, the server responds with this code to indicate that the authentication process was successful

[ 250: Requested mail action completed ] - This is a general success code that indicates the requested mail action, such as sending an email or delivering it to a mailbox, was completed successfully

[ 251: User not local; will forward to <forward-path> ] - If the recipient's address is not local to the server but can be forwarded to another server, this code is used. It indicates that the server will forward the email to the specified forward-path.

[ 252: Cannot VERIFY user, but will accept message and attempt delivery ] - When the server cannot verify the existence of a user, it sends this code. However, it still accepts the message and attempts to deliver it, even if it cannot guarantee successful delivery

[ 253: Pending messages for node <node> started ] - This code is used to inform the client that the server has started the process of delivering pending messages to a particular node or destination.

 

4xx Transient Failure - Client Side

SMTP 400 status codes generally indicate errors on the recipient side. These codes are typically generated by the recipient's mail server as a response message to indicate the type of issue with the delivery of the email message. The message will provide information that the recipient's server is unable to accept, process, or deliver the email due to various reasons, such as invalid recipient address, mailbox issues, or temporary unavailability of the recipient's server. In addition, there can be situations where the errors are caused by the sender or the client's side, such as incorrect formatting or parameters in the SMTP commands.

 

[ 400: Syntax error, command unrecognized ] - This code indicates that the server did not recognize or understand the syntax of the command sent by the client. It typically occurs when the command is malformed or not supported by the server.

[ 401: Syntax error in parameters or arguments ] - When there is a syntax error in the parameters or arguments provided with a command, this code is used. It indicates that the server detected an issue with the command's parameters and could not process it.

[ 402: Command not implemented ] - This code is used when the requested command is not implemented or supported by the server. It means that the server does not recognize or support the specific command issued by the client.

[ 403: Command parameter not implemented ] - When the server receives a command with a parameter that it does not support or implement, this code is sent. It indicates that the particular parameter used with the command is not recognized by the server.

[ 404: Bad sequence of commands ] - This code is used when the client sends commands in an incorrect or unexpected order. It indicates that the sequence of commands received by the server is invalid or violates the expected order of execution.

[ 405: Command not allowed ] - When the server receives a command that is not allowed or permitted in the current context or state, this code is sent. It indicates that the requested command is restricted and cannot be executed at the moment.

[ 406: SMTP service not available ] - This code indicates that the SMTP service is currently unavailable. It may be due to maintenance, temporary downtime, or other factors that prevent the server from providing the SMTP service to the client.

[ 421: Service not available, closing transmission channel ] - This code is used when the server is closing the connection due to an unavailability of service. It indicates that the server is unable to provide the requested service and is terminating the connection.

[ 422: Mailbox temporarily unavailable ] - This code indicates that the recipient's mailbox is temporarily unavailable. It implies that the mailbox is not accessible at the moment, but the situation is expected to be temporary.

[ 423: Mailbox busy ] - This code indicates that the recipient's mailbox is busy. It suggests that the mailbox is currently occupied or in use, and the server cannot process the requested operation at the moment.

[ 424: Mailbox unavailable ] - This code indicates that the recipient's mailbox is unavailable. It implies that the mailbox is not accessible or cannot be found on the server.

[ 425: Mailbox transmission channel busy ] - This code indicates that the transmission channel for the recipient's mailbox is busy. It suggests that the channel used to transmit the email to the recipient is currently occupied or experiencing congestion.

[ 426: Mailbox unavailable ] - This code indicates that the recipient's mailbox is unavailable. It implies that the mailbox is not accessible or cannot be found on the server.

[ 427: Sender's address blocked ] - This code is used to indicate that the sender's email address has been blocked by the server. It implies that the server has blocked or blacklisted the sender's address, preventing the email from being delivered.

[ 428: SMTP service not available ] - This code indicates that the SMTP service is not available. It suggests that the server is currently unable to provide the requested SMTP service to the client.

[ 429: Too many messages ] - This code indicates that the server has received too many messages from the client. It implies that the server has reached a limit or threshold on the number of messages it can handle from the client.

[ 430: Mailbox temporarily suspended ] - This code indicates that the recipient's mailbox has been temporarily suspended. It suggests that the mailbox is currently inactive or put on hold, and the server cannot process the requested operation at the moment.

[ 431: Requested action aborted: local error in processing ] - This code indicates that the server has encountered a local error while processing the requested action. It suggests that an error occurred within the server's internal processes, preventing it from completing the requested action.

[ 432: Requested action not taken: mailbox name not allowed ] - This code indicates that the requested action cannot be taken because the mailbox name used in the command is not allowed or not recognized by the server. It implies that the server does not accept the specified mailbox name for the requested operation.

[ 450: Requested mail action not taken: mailbox unavailable ] - This code indicates that the requested mail action cannot be taken because the recipient's mailbox is unavailable. It implies that the server is unable to deliver the email to the recipient's mailbox.

[ 451: Requested action aborted: local error in processing ] - This code indicates that the server has encountered a local error while processing the requested action, causing the action to be aborted. It suggests that an error occurred within the server's internal processes, preventing it from completing the requested action.

[ 452: Requested action not taken: insufficient system storage ] - This code indicates that the server cannot take the requested action due to insufficient storage space. It implies that the server's storage capacity is insufficient to accommodate the requested operation.

 

5xx Permanent Failure - Server Side

SMTP 500 status codes typically indicate server-side errors. These codes are generated by the mail server that the client is communicating with, indicating that the server encountered an internal error or failure while processing the email message. During email processing the error message signifies that there was a problem specifically on the server side. These errors are typically not caused by the recipient or the recipient's server, but rather by issues within the server handling the email.

These issues can occur due to various reasons, such as a misconfiguration of the server, software bugs, resource limitations, or temporary server outages. These errors indicate that the server was unable to fulfill the requested SMTP command or complete the email delivery due to an internal problem.

These codes are considered permanent failures as they indicate issues that cannot be resolved by retrying the operation. The sender may need to take corrective actions, such as verifying the recipient's email address, contacting the recipient's mail server administrator, or checking for any misconfigurations on their own side.

 

[ 500: Syntax error, command unrecognized ] - This code indicates that the client has sent a command that the server does not recognize or understand due to a syntax error. It suggests that the command is malformed or not supported by the server.

[ 501: Syntax error in parameters or arguments ] - When there is a syntax error in the parameters or arguments provided with a command, this code is used. It suggests that the server has detected an issue with the command's parameters and cannot process it.

[ 502: Command not implemented ] - This code is used when the requested command is not implemented or supported by the server. It indicates that the server does not recognize or support the specific command issued by the client.

[ 503: Bad sequence of commands ] - This code indicates that the client has sent commands in an incorrect or unexpected order. It suggests that the sequence of commands received by the server is invalid or violates the expected order of execution.

[ 504: Command parameter not implemented ] - When the server receives a command with a parameter that it does not support or implement, this code is sent. It suggests that the particular parameter used with the command is not recognized by the server.

[ 505: SMTP service not available ] - This code indicates that the SMTP service is not available. It implies that the server is unable to provide the SMTP service to the client.

Have more questions? Submit a request