Knowledgebase: outmail
What is SMTP and understanding the error codes

Problem:

What is SMTP and understanding the error codes

Solution:

Ever wondered why your emails don't send or your email marketing campaign fails and all you're left with is something called an SMTP error code and a short meaningless message?

Before you begin to panic this article breaks down the confusion of the SMTP error messages.

What is SMTP?

First let's discuss what SMTP actually is and how it fits into the world of sending and receiving emails.  SMTP stands for Simple Mail Transfer Protocol. SMTP is the mechanism that is used between mail servers to exchange emails.

All emails sent by a client, mobile device or server use SMTP to deliver the messages from the source to the destination mail server.  Think of SMTP as your local postal service and sorting office ensuring your mail gets to the right location and person.

Once the message has been received by a mail server, the user collects that message using their client application (Outlook, Windows Mail, Mac Mail, etc) or mobile device (iPhone, iPad, Windows Mobile, Android, etc) using a protocol called POP3 (Post Office Protocol) or IMAP (Internet Message Access Protocol).

Every time an email is sent using SMTP the receiving server will respond with an SMTP error code.  Not all SMTP error codes actually indicate failures, for example an SMTP error code 250 (2.5.0) means the message was accepted and the delivery action was complete.

So not all SMTP error messages are bad. SMTP error codes usually consist of three digits that carry different meanings.

First digit

The first digit has the following meaning

1xx - Command accepted by mail server but confirmation message is required.

2xx - Task was completed without errors.

3xx - Mail server accepted the request but requires more information.

4xx - Temporary failure encountered by mail server and you have to try again.  If you see one of these errors, the mail server or client should tell you that it will automatically attempt to resend the email.

5xx - Fatal error encountered, Mail server cannot process request.

Second digit

The second digit gives more information and there are six possible values.

x0x - A syntax error has occurred.

x1x - Indicates an informational reply, for example to a HELP request.

x2x - Refers to the connection status.

x3x - unspecified.

x4x - unspecified.

x5x - Refers to the status of the mail system as a whole and the mail server in particular.

Third digit

The last digit is even more specific and shows more graduations of the mail transfer status

SMTP error codes

Below is a list of common STMP error codes that you will most likely see when sending emails and using email marketing software such as Mach5 Mailer or SendBlaster to name a few.

2xx codes

211 - A system status message.

214 - A help message for a human reader follows.

220 - SMTP Service ready.

221 - Service closing.

250 - Requested action taken and completed. This is the best message of them all because it means the message was delivered with no errors.

251 - The recipient is not local to the server, but the server will accept and forward the message.

252 - The recipient cannot be verified (VRFY), but the server accepts the message and attempts delivery.

3xx codes

354 - Indicates mail server is ready to take message or start mail input and end with a dot.

4xx codes – Temporary Failure: retry will occur

421 - The service is not available and the connection will be closed.

450 - The requested command failed because the user's mailbox was unavailable (for example because it was locked). Try again later.

451 - The command has been aborted due to a server error.

452 - The command has been aborted because the server has insufficient system storage.

5xx codes – Fatal Errors: No retry will occur

500 - The server could not recognize the command due to a syntax error.

501 - A syntax error was encountered in command arguments.

502 - This command is not implemented.

503 - The server has encountered a bad sequence of commands.

504 - A command parameter is not implemented.

550 - The requested command failed because the user's mailbox was unavailable. This error can be caused by quite a few situations, some of which are Relay Denied, No such user, Account not available and Host rejected.

551 - The recipient is not local to the server.

552 - The action was aborted due to exceeded storage allocation.

553 - The command was aborted because the mailbox name is invalid.

554 - The transaction failed.

More information

For more information on SMTP error codes and the Simple Mail Transfer Protocol as laid down in RFC 821 please visit http://www.faqs.org/rfcs/rfc2821.html

Additional information on POP3 (RFC 1939 & RFC 2449) and IMAP (RFC 3501) can be found below:

http://www.faqs.org/rfcs/rfc1939.html

http://www.faqs.org/rfcs/rfc2449.html

http://www.faqs.org/rfcs/rfc3501.html

(2 vote(s))
Helpful
Not helpful





Disclaimer
The Origin of this information may be internal or external to Prolateral Consulting Ltd. Prolateral makes all reasonable efforts to verify this information. However, the information provided in this document is for your information only. Prolateral makes no explicit or implied claims to the validity of this information. Any trademarks referenced in this document are the property of their respective owners.