You meticulously craft an email, hit send, and... nothing. No confirmation, no delivery – just a cryptic error code staring back at you. Frustrating, right?
Well, it wouldn’t be so frustrating if you knew that the cryptic error code is only trying to help you by telling you what went wrong. These codes pinpoint the exact reason your message got stuck. By understanding these codes, you gain the power to troubleshoot and ensure your emails reach their intended inboxes.
In this comprehensive guide, you'll find a glossary of SMTP error codes, and will also learn how to read and understand their meanings, and how to fix some of the common email-sending issues.
What are SMTP error codes?
SMTP error codes are numerical codes returned by email servers to indicate the status of email delivery. These codes help diagnose issues such as connection problems, authentication failures, or message content errors.
SMTP error codes are similar to road signs. Imagine you're driving to a destination, and along the way, you encounter various signs: green for go, yellow for caution, and red for stop.
For instance, a green light (like a 250 SMTP code) means your email has been successfully delivered. A yellow light (like a 450 code) indicates a temporary (soft bounces) issue, suggesting you try again later. A red light (like a 550 code) means a permanent (hard bounces) problem, such as an incorrect email address or an error message from different servers.
Classification of SMTP error codes
SMTP error codes are classified based on the nature and cause of the email delivery failure encountered during the transmission process. The classification is structured into different series, each indicating a particular type of problem encountered.
Here's a detailed classification of SMTP error codes:
Code series (class) | Code description | Code explanation |
---|---|---|
1xx | Informational codes | These codes provide informational messages and do not indicate an error. |
2xx | Success codes | Indicate that the command was successfully received and processed. |
3xx | Redirection codes | Indicate that further action is needed to complete the request. |
4xx | Soft bounces codes | Indicates that the server has a temporary failure, but the user should try again later. |
5xx | Hard bounces codes | Indicates issues like the server cannot fulfill the request. |
How to read SMTP error codes
In the above classification section, we read that the SMTP error codes are three-digit numbers. Each digit provides specific information.
The first digit of the code typically indicates whether the server acknowledged receipt of the command and its ability to process it. There are five potential values:
Code | Meaning |
---|---|
1 | This code gives information like the server has accepted the command, but has not yet taken action. |
2 | The server has completed the task successfully. |
3 | The server requires further information to complete the request. It is a kind of redirection request. |
4 | The server has encountered a soft bounce failure. |
5 | The server has encountered a hard bounce failure. |
The second digit of the code specifies the category of the response and gives more information. There are eight potential values:
Code | Meaning |
---|---|
0 | A syntax error has occurred. |
1 | Indicates an informational response. |
2 | Refers to the connection status. |
3 | Mail system status. |
4 | Network and routing status. |
5 | Responses about the status of the receiving mail server (mail delivery protocol status). |
6 | Message content or any media status. |
7 | Security or any policy issues status. |
The last number, the third digit of the code is even more specific and provides more details of the mail transfer status. The meaning of the code varies as per category.
Let’s understand the reading of an SMTP error code with an example. Consider the error code 550. In this code, the first digit 5 represents Permanent failure, the second digit 5 indicates a mail system issue and the third digit 0 provides further detail within the mail system category.
Technically if we decode the meaning of the error code 550 it states that the email failed to deliver because the recipient's mailbox is unavailable, possibly due to an incorrect address or the mailbox being inactive.
The best fix for such an error code is to verify the email address and ensure the recipient's mailbox is active.
SMTP error codes glossary
Below is a list of common SMTP error codes, their meanings, explanations, and potential fixes.
SMTP codes starting with 1, 2 and 3
SMTP codes that start with 1, 2, and 3 are status messages indicating the progress of mail transactions. These codes do not represent errors but are part of the communication protocol between mail servers, confirming that commands have been received and processed.
SMTP code | Code meaning | Code explanation | How to fix the error (if any) |
---|---|---|---|
101 | Cannot connect to the server | The server is unable to establish a connection. | Verify and correct the server's name; check for misspellings. |
211 | System status | Provides system status or help information. | No action is needed; informational only. |
214 | Help message | Response to the HELP command. | No action is needed; informational only. |
220 | Service ready | The SMTP server is ready to receive mail. | No action is needed; this indicates a successful connection. |
221 | Service closing | The SMTP server is closing the connection. | No action is needed; indicates the end of a session. |
235 | Authentication successful | Authentication with the server was successful. | No action is needed; authentication is completed successfully. |
250 | Requested mail action okay | The requested action was completed successfully. | No action is needed; indicates successful completion. |
251 | User not local; will forward | The recipient is not local to the server, but the server will forward the message. | No action is needed; the server will handle forwarding. |
252 | Cannot VRFY user | The server cannot verify the user but will accept the message and attempt delivery. | Verify the recipient address or contact the server administrator. |
334 | Authentication challenge | The server is issuing a challenge for authentication. | Provide the necessary authentication credentials. |
354 | Start mail input | The server is ready to receive the body of the message. | Proceed with sending the email body. |
4xx SMTP error codes
SMTP 4xx error codes indicate transient errors usually related to issues at the receiving mail server. These errors result in a soft bounce, meaning the sender may retry after resolving the issue, such as reducing the size of email attachments.
SMTP error code | Error code meaning | Code explanation | How to fix the error |
---|---|---|---|
421 | Service not available | The service is unavailable, typically due to being overloaded or maintenance. | Wait for some time and try resending the email later. |
450 | Mailbox unavailable | The recipient's mailbox is unavailable, often due to being busy or temporarily unreachable. | The server will attempt to send the message again after a short amount of time. Additionally, you can check whether you’re operating on a reliable IP address or not. |
451 | Local error | A local error has occurred on the server. Your ISP’s server or the next server in line had a connection issue. | Check server logs for detailed error information and address the issue. |
452 | Insufficient storage | The server has insufficient storage to process the request. | Free up space on the server or contact the server administrator. |
455 | The server unable to accommodate the parameters | The server cannot handle the specified parameters at the moment. | Retry the operation after some time; if the issue persists, contact the server administrator. |
5xx SMTP error codes
SMTP 500 reply codes signify permanent errors typically caused by issues on the sender's side. These errors result in a hard bounce, and the receiving server advises against retrying until the problem is fixed.
SMTP error code | Error code meaning | Code explanation | How to fix the error |
---|---|---|---|
500 | Syntax error | A syntax error was found in the command. | Check the command syntax and correct any errors. |
501 | Parameter syntax error | A syntax error was found in the parameters or arguments. | Verify and correct the parameters or arguments being sent. |
502 | Command not implemented | The command is not implemented on the server. | Ensure the command being used is supported by the server. |
503 | Bad command sequence | The commands were sent in an incorrect order. | Check the sequence of commands and ensure they are sent in the correct order. |
504 | Command parameter not implemented | The command parameter is not implemented by the server. | Verify if the parameter is supported by the server and adjust accordingly. |
521 | Server does not accept mail | The server does not accept mail from the sending server. | Check for blacklisting issues or contact the recipient's server administrator. |
535 | Authentication failed | Authentication with the server failed. | Verify the authentication credentials and try again. |
541 | Recipient address rejected | The recipient's address rejected the message, often due to spam filtering. | Ask the recipient to add your email address to their whitelist or safe sender list. |
550 | Mailbox unavailable | The recipient's mailbox is unavailable, often because it doesn't exist or the server rejects it. | Verify the recipient's email address for correctness and try again. |
551 | User not local | The recipient is not local to the server, and the server cannot forward the message. | Check for a correct email address or update the recipient's address. |
552 | Exceeded storage allocation | The action was aborted because it exceeded the storage allocation. | Reduce the size of the email or attachments, and try sending them again. |
553 | Mailbox name not allowed | The mailbox name is invalid. | Verify the recipient's email address format and correct any mistakes. |
554 | Transaction failed | The transaction failed for an unspecified reason. | Check the SMTP server logs for more information and troubleshoot based on the specific error. |
Conclusion
By learning to interpret these codes and taking appropriate actions, you can ensure smoother email communication. Bookmark this guide and refer to the glossary whenever you encounter an SMTP error code.