From Wikipedia, the free encyclopedia
This is a list of Simple Mail Transfer Protocol (SMTP) response status codes. Status codes are issued by a server in response to a client’s request made to the server.
Unless otherwise stated, all status codes described here is part of the current SMTP standard, RFC 5321. The message phrases shown are typical, but any human-readable alternative may be provided.
Basic status code[edit]
A «Basic Status Code» SMTP reply consists of a three digit number (transmitted as three numeric characters) followed by some text. The number is for use by automata (e.g., email clients) to determine what state to enter next; the text («Text Part») is for the human user.
The first digit denotes whether the response is good, bad, or incomplete:
- 2yz (Positive Completion Reply): The requested action has been successfully completed.
- 3yz (Positive Intermediate Reply): The command has been accepted, but the requested action is being held in abeyance, pending receipt of further information.
- 4yz (Transient Negative Completion Reply): The command was not accepted, and the requested action did not occur. However, the error condition is temporary, and the action may be requested again.
- 5yz (Permanent Negative Completion Reply): The command was not accepted and the requested action did not occur. The SMTP client SHOULD NOT repeat the exact request (in the same sequence).
The second digit encodes responses in specific categories:
- x0z (Syntax): These replies refer to syntax errors, syntactically correct commands that do not fit any functional category, and unimplemented or superfluous commands.
- x1z (Information): These are replies to requests for information.
- x2z (Connections): These are replies referring to the transmission channel.
- x3z : Unspecified.
- x4z : Unspecified.
- x5z (Mail system): These replies indicate the status of the receiver mail system.
Enhanced status code[edit]
The Basic Status Codes have been in SMTP from the beginning, with RFC 821 in 1982, but were extended rather extensively, and haphazardly so that by 2003 RFC 3463 rather grumpily noted that: «SMTP suffers some scars from history, most notably the unfortunate damage to the reply code extension mechanism by uncontrolled use.»
RFC 3463 defines a separate series of enhanced mail system status codes which is intended to be better structured, consisting of three numerical fields separated by «.», as follows:
class "." subject "." detail class = "2" / "4" / "5" subject = 1 to 3 digits detail = 1 to 3 digits
The classes are defined as follows:
- 2.XXX.XXX Success: Report of a positive delivery action.
- 4.XXX.XXX Persistent Transient Failure: Message as sent is valid, but persistence of some temporary conditions has caused abandonment or delay.
- 5.XXX.XXX Permanent Failure: Not likely to be resolved by resending the message in current form.
In general the class identifier MUST match the first digit of the Basic Status Code to which it applies.[1]
The subjects are defined as follows:
- X.0.XXX Other or Undefined Status
- X.1.XXX Addressing Status
- X.2.XXX Mailbox Status
- X.3.XXX Mail System Status
- X.4.XXX Network and Routing Status
- X.5.XXX Mail Delivery Protocol Status
- X.6.XXX Message Content or Media Status
- X.7.XXX Security or Policy Status
The meaning of the «detail» field depends on the class and the subject, and are listed in RFC 3463 and RFC 5248.
A server capable of replying with an Enhanced Status Code MUST preface (prepend) the Text Part of SMTP Server responses with the Enhanced Status Code followed by one or more spaces. For example, the «221 Bye» reply (after QUIT command) MUST be sent as «221 2.0.0 Bye» instead.[1]
The Internet Assigned Numbers Authority (IANA) maintains the official registry of these enhanced status codes.[2]
Common status codes[edit]
This section list some of the more commonly encountered SMTP Status Codes. This list is not exhaustive, and the actual text message (outside of the 3-field Enhanced Status Code) might be different.
— 2yz Positive completion[edit]
-
- 211 System status, or system help reply
-
- 214 Help message (A response to the HELP command)
-
- 220 <domain> Service ready
-
- 221 <domain> Service closing transmission channel
-
- 221 2.0.0 Goodbye [1]
-
- 235 2.7.0 Authentication succeeded [3]
-
- 240 QUIT
-
- 250 Requested mail action okay, completed
-
- 251 User not local; will forward
-
- 252 Cannot verify the user, but it will try to deliver the message anyway
— 3yz Positive intermediate[edit]
-
- 334 (Server challenge — the text part contains the Base64-encoded challenge) [3]
-
- 354 Start mail input
— 4yz Transient negative completion[edit]
«Transient Negative» means the error condition is temporary, and the action may be requested again. The sender should return to the beginning of the command sequence (if any).
The accurate meaning of «transient» needs to be agreed upon between the two different sites (receiver- and sender-SMTP agents) must agree on the interpretation. Each reply in this category might have a different time value, but the SMTP client SHOULD try again.
-
- 421 Service not available, closing transmission channel (This may be a reply to any command if the service knows it must shut down)
-
- 432 4.7.12 A password transition is needed [3]
-
- 450 Requested mail action not taken: mailbox unavailable (e.g., mailbox busy or temporarily blocked for policy reasons)
-
- 451 Requested action aborted: local error in processing
-
- 451 4.4.1 IMAP server unavailable [4]
-
- 452 Requested action not taken: insufficient system storage
-
- 454 4.7.0 Temporary authentication failure [3]
-
- 455 Server unable to accommodate parameters
— 5yz Permanent negative completion[edit]
The SMTP client SHOULD NOT repeat the exact request (in the same sequence). Even some «permanent» error conditions can be corrected, so the human user may want to direct the SMTP client to reinitiate the command sequence by direct action at some point in the future.
-
- 500 Syntax error, command unrecognized (This may include errors such as command line too long)
-
- 500 5.5.6 Authentication Exchange line is too long [3]
-
- 501 Syntax error in parameters or arguments
-
- 501 5.5.2 Cannot Base64-decode Client responses [3]
-
- 501 5.7.0 Client initiated Authentication Exchange (only when the SASL mechanism specified that client does not begin the authentication exchange) [3]
-
- 502 Command not implemented
-
- 503 Bad sequence of commands
-
- 504 Command parameter is not implemented
-
- 504 5.5.4 Unrecognized authentication type [3]
-
- 521 Server does not accept mail [5]
-
- 523 Encryption Needed [6]
-
- 530 5.7.0 Authentication required [3]
-
- 534 5.7.9 Authentication mechanism is too weak [3]
-
- 535 5.7.8 Authentication credentials invalid [3]
-
- 538 5.7.11 Encryption required for requested authentication mechanism[3]
-
- 550 Requested action not taken: mailbox unavailable (e.g., mailbox not found, no access, or command rejected for policy reasons)
-
- 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 has failed (Or, in the case of a connection-opening response, «No SMTP service here»)
-
- 554 5.3.4 Message too big for system [4]
-
- 556 Domain does not accept mail [5]
Example[edit]
Below is an example SMTP connection, where a client «C» is sending to server «S»:
S: 220 smtp.example.com ESMTP Postfix C: HELO relay.example.com S: 250 smtp.example.com, I am glad to meet you C: MAIL FROM:<bob@example.com> S: 250 Ok C: RCPT TO:<alice@example.com> S: 250 Ok C: RCPT TO:<theboss@example.com> S: 250 Ok C: DATA S: 354 End data with <CR><LF>.<CR><LF> C: From: "Bob Example" <bob@example.com> C: To: Alice Example <alice@example.com> C: Cc: theboss@example.com C: Date: Tue, 15 Jan 2008 16:02:43 -0500 C: Subject: Test message C: C: Hello Alice. C: This is a test message with 5 header fields and 4 lines in the message body. C: Your friend, C: Bob C: . S: 250 Ok: queued as 12345 C: QUIT S: 221 Bye {The server closes the connection}
And below is an example of an SMTP connection in which the SMTP Server supports the Enhanced Status Code, taken from RFC 2034:
S: 220 dbc.mtview.ca.us SMTP service ready C: EHLO ymir.claremont.edu S: 250-dbc.mtview.ca.us says hello S: 250 ENHANCEDSTATUSCODES C: MAIL FROM:<ned@ymir.claremont.edu> S: 250 2.1.0 Originator <ned@ymir.claremont.edu> ok C: RCPT TO:<mrose@dbc.mtview.ca.us> S: 250 2.1.5 Recipient <mrose@dbc.mtview.ca.us> ok C: RCPT TO:<nosuchuser@dbc.mtview.ca.us> S: 550 5.1.1 Mailbox "nosuchuser" does not exist C: RCPT TO:<remoteuser@isi.edu> S: 551-5.7.1 Forwarding to remote hosts disabled S: 551 5.7.1 Select another host to act as your forwarder C: DATA S: 354 Send message, ending in CRLF.CRLF. ... C: . S: 250 2.6.0 Message accepted C: QUIT S: 221 2.0.0 Goodbye {The server closes the connection}
References[edit]
- ^ a b c RFC 2034
- ^ «Simple Mail Transfer Protocol (SMTP) Enhanced Status Codes Registry». IANA. Retrieved December 20, 2018.
- ^ a b c d e f g h i j k l RFC 4954
- ^ a b RFC 4468
- ^ a b RFC 7504
- ^ RFC 5248
The author voluntarily contributed this tutorial as a part of Pepipost Write to Contribute program.
Introduction
SMTP (Simple mail transfer protocol) is used to send emails across the network with the help of MTA (Mail transfer agent). On Basis the response from the client’s server SMTP returns a particular error code. These response codes might be one of the five standard classes.
Status Codes
Status code is differentiated into five categories as follows :
- 1xx returns informational code ie. your request is received successfully and sent for further processing.
- 2xx returns success code ie. your request is understood and accepted.
- 3xx returns redirection code ie. your request needs few actions to be taken so that request is completely accepted.
- 4xx returns clients error code ie. your request is incorrect might be syntax issue or contains an issue that can’t be fulfilled.
- 5xx returns server error code ie. your request was valid but the server failed to process due to internal error on the server.
Enhanced Status Codes Registry
Informative Status Code
Code |
Description |
---|---|
101 |
Unable to connect to server |
111 |
Connection refused |
Success Status Code : whenever a positive delivery code is returned from DSN
Code |
Description |
---|---|
200 |
System status message |
214 |
A response to the HELP command |
220 |
The server is ready |
221 |
The mail communication channel is getting closed |
250 |
Requested mail action okay completed |
251 |
mail will be forwarded because server was not able to find user on local |
252 |
Cannot verify the user, but it will try to deliver the message anyway |
Redirection Status Code
Code |
Description |
---|---|
354 |
Start adding mail input |
Persistent transient failure Status Code
420 |
Timeout connection problem |
---|---|
421 |
Service is unavailable due to a connection problem |
422 |
The recipient’s mailbox has exceeded its storage limit |
431 |
Not enough space on the disk |
432 |
Recipient’s incoming mail queue has been stopped |
441 |
The recipient’s server is not responding |
442 |
The connection was dropped during the transmission |
446 |
The maximum hop count was exceeded for the message |
447 |
Message timed out because of issues concerning the incoming server |
449 |
Routing error |
450 |
User’s mailbox is unavailable |
451 |
Aborted – Local error in processing |
452 |
Too many emails sent or too many recipients |
471 |
An error of your mail server |
Server Permanent Error Codes
Code |
Description |
---|---|
500 |
Syntax error |
501 |
Syntax error in parameters or arguments |
503 |
Bad sequence of commands, or requires authentication |
504 |
Command parameter is not implemented |
510 / 511 |
Bad email address |
512 |
Host server for the recipient’s domain name cannot be found in DNS |
513 |
Address type is incorrect |
523 |
Size of your mail exceeds the server limits |
530 |
Authentication problem |
541 |
The recipient address rejected your message |
550 |
Non-existent email address |
551 |
User not local or invalid address – relay denied |
552 |
Exceeded storage allocation |
553 |
Mailbox name invalid |
554 |
Transaction has failed |
Diving deep with extented code description
2xx detailed
This is Success status which indicates that there is a positive response from the server which might have more information when the response has it respected subcodes (2XX X.X.X) and response.
250 2.1.5 Destination address valid or 250 2.1.5 Recipient OK
This should be treated as a positive remark for delivery. Since the status code response represents that the email address you are trying to reach is valid.
221 Service closing transmission channel
If there is an issue with authentication this status code response is received from the server. it can be an incorrect password or username or you might be trying the connect to the wrong mail server. you can check your SMTP access is enabled or not for sending email from your email id or try changing the authentication method.
If you are confident with your username and password and still getting the error try using SSL/TLS.
250 2.3.0 Other or undefined mail system status
This can be considered as a positive response because this status code response indicates recipient’s MX as successfully received your email but has reverted with null response.
250 2.3.6 Requested priority was changed
The email has been accepted for delivery but the delivery priority was changed. the new priroty will available after the status code besides the response.
220 2.5.0 Requested mail action okay completed
This is success status which indicates your email has been successfully delivered at recipient’s end without any issue.
4xx detailed
This status code are temporary blockage for your emails delivery which should retry sending those emails automatically. This blockage might be due to unusual traffic patterns from sending server IP address, emails having characteristics of spam or recipients MX is too busy accepting emails.
421 4.7.0 [TS01] Messages from x.x.x.x temporarily deferred due to user complaints — 4.16.55.1
This status code errors when user raises complaints for the emails which has been sent from our mail server.
421 4.7.0 [TS02] Messages from x.x.x.x … deferred due to excessive user complaints — 4.16.56.1
This status code errors when user raises complaints for the emails which has been sent from our mail servers on a shared IP.
421 4.7.1 [TS03] All messages from x.x.x.x permanently deferred
This status code indicates that high volume of mails has been sent from your IP. ie, bulk emailing. Don’t send email if you are receiving this status code
check for email subscription list and make sure you are sending emails to user who as subsribed.
421 Message temporarily deferred — [numeric code]
This status code response indicates your emails are postponed due to low connectivity percentage to MTA, Bad tokens within the message or unusal traffic of emails having PDF files in it.
421 Resources temporarily unavailable. Please try again later
The recipient’s MX is too busy. Try to resend those emails after few mintues
451 Message temporarily deferred — [numeric code]
This Status code is due to excessive traffic or IP data query failure.
5xx detailed
Error/Status Code |
Description |
---|---|
5.0.0 Address does not exist |
Email id invalid or does not exists |
5.1.0 Other address status |
A problem occurred during the delivery of this message to this email address. |
5.1.1 Bad destination mailbox address |
Specified from address or domain mailbox does not exists (anything after ‘@’). |
5.1.2 Bad destination system address |
Address does not exists or not able to accept mails |
5.1.3 Bad destination mailbox address syntax |
Invalid or corrupted character in email address |
5.1.4 Destination mailbox address ambiguous |
Check your spelling of email address and resend |
5.1.5 Destination mailbox address invalid |
Mail address may be invailid or may have spelling mistakes. |
5.1.6 Mailbox has moved |
Mailbox may be moved to new location |
5.1.7 Bad sender’s mailbox address syntax |
Sender’s address is invalid syntactically |
5.1.8 Bad sender’s system address |
Sender’s system in the address does not exist or is incapable of accepting. |
5.2.0 Other or undefined mailbox status |
This error is usually return for which it has class (ie. 1xx,2xx,3xx,4xx,5xx). |
5.2.1 Mailbox disabled, not accepting messages |
Some changes need to made mandatory for resending mail |
5.2.2 Mailbox full |
Try increasing your emailbox space capacity |
5.2.3 Message length exceeds administrative limit. |
The Size of your email has exceeded its limit try removing unwanted text. |
5.2.4 Mailing list expansion problem |
mailbox saves your email address to whom you are sending or receiving emails, there is problem saving that email addresses. |
5.3.0 Other or undefined mail system status |
Mail has been accepted normally |
5.3.1 Mail system full |
mail system at client’s is not able accept emails |
5.3.2 System not accepting network messages |
you need to whitelist the email address through your administrator it has been blocked. |
5.3.3 System not capable of selected features |
|
5.3.4 Message too big for system |
Message character limit has exceeded |
5.4.0 Other or undefined network or routing status |
Mail accepted routing status is not available |
5.4.1 No answer from host |
Configuration issue at recipient’s server. you can send again once the issue is resolved at recipient’s end |
5.4.2 Bad connection |
unable to connected or delay in connection |
5.4.3 Routing server failure |
Error is generated by the sender’s server, you need to contact your ISP/ESP. |
5.4.4 Unable to route |
When emailid or hosts provided is invalid. |
5.4.5 Network congestion |
Multiple connection on single channel. |
5.4.6 Routing loop detected |
Sending message to same PMTA from you have sent. |
5.4.7 Delivery time expired |
Mail is queued for 2-3 days after that it is removed by returning above messagae |
5.5.0 Other or undefined protocol status |
Something went wrong with protocol while delivering mail which can be well expressed with other status code. |
5.5.1 Invalid command |
out of sequence or unsupported command used while sending mail |
5.5.2 Syntax error |
unable to interprete the command due wrong syntax or it is unrecognized. |
5.5.3 Too many recipients |
Number of recipient is greater than the amount of recipient deliver by protocol |
5.5.4 Invalid command arguments |
the arguments were out of range or represented unrecognized features |
5.5.5 Wrong protocol version |
protocol version is mis-match which can’t be solved at one go. |
5.6.0 Other or undefined media error |
Issue with content of the message which cannot be delivered. |
5.6.1 Media not supported |
Media is not supported by protocol or the system who is going to formard the mail. |
5.6.2 Conversion required and prohibited |
Message should be converted before it is send/delivery else it will be not delivered. |
5.6.3 Conversion required but not supported |
Message must be converted in order to be forwared but partically it is not possible. |
5.6.4 Conversion with loss performed |
This is Warning to the sender that While conversion data may be lost. |
5.6.5 Conversion failed |
Message conversion was unsuccessful |
5.7.0 Other or undefined security status |
Something went wrong while validating authentication which can be expressed with other status code. |
5.7.1 Delivery not authorized, message refused |
Authentication was not successful due to which email was not sent. |
5.7.2 Mailing list expansion prohibited |
Sending mail is not allowed to particular recipient. |
5.7.3 Security conversion required but not possible |
Conversion was required to send mail securely which is not possible. |
5.7.4 Security features not supported |
Authentication not supported at delivery end. |
5.7.5 Cryptographic failure |
Unable to decrypt the message because the key was wrong or invalid. |
5.7.6 Cryptographic algorithm not supported |
Unable to decrypt the message because alogrithm was not supported. |
5.7.7 Message integrity failure |
The message is corrupted or altered |
Stages where error codes are possible
Below is an simple example for sending email using telnet and you can check the response code after every command.
[[email protected]_wifi ~]$ telnet smtp.pepipost.com 587 Trying 138.197.56.58... #-----------CONNECTION ESTABLISHMENT--------- Connected to smtp.pepipost.com. Escape character is '^]'. 220 ESMTP SMTPNY-LB2 Ready #-----------EHLO or HELO--------------- EHLO pepipost.com 250-smtpbny-lb2.pepipost.com 250-PIPELINING 250-SIZE 50000000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN #------------MAIL----------------- mail from: [email protected] 250 2.1.0 Ok [success output] #------------RCPT----------------- # rcpt to: [email protected] 250 2.1.5 Ok [success output] #------------DATA----------------- # data # type this to pass input of email body 354 End data with <CR><LF>.<CR><LF> [success output ] This is test mail from your local host server #mail body . # dot(.) for completing the mail body #------------NOOP----------------- 250 2.0.0 Ok: queued as E2R572042D75 [success output] quit # quit from the telnet command prompt #-----------QUIT------------------ 221 2.0.0 Bye Connection closed by foreign host.
I have segregated the above example in below structure where you can easily understand the status code.
CONNECTION ESTABLISHMENT S: 220 E: 554 EHLO or HELO S: 250 E: 504, 550 MAIL S: 250 E: 552, 451, 452, 550, 553, 503 RCPT S: 250, 251 (but see section 3.4 for discussion of 251 and 551) E: 550, 551, 552, 553, 450, 451, 452, 503, 550 DATA I: 354 -> data -> S: 250 E: 552, 554, 451, 452 E: 451, 554, 503 RSET S: 250 VRFY S: 250, 251, 252 E: 550, 551, 553, 502, 504 EXPN S: 250, 252 E: 550, 500, 502, 504 HELP S: 211, 214 E: 502, 504 NOOP S: 250 QUIT S: 221
Grade My Email
Check your spam now?
Netcorecloud’s toolkit is the solution to all your email problems.
Если вы не используете сервис рассылки для отправки писем, они могут не попасть во «Входящие» получателей из-за SMTP ошибок. Отправляйте письма через SMTP сервис SendPulse. Мы предлагаем чистые IP адреса, надежные серверы, SPF и DKIM записи, чтобы повысить доставляемость ваших рассылок. А узнать о значениях и причинах SMTP ошибок вы можете в этой статье.
Код ошибки — это зашифрованная комбинация чисел, которая требует объяснения. Чтобы понять, почему ваше письмо не может быть отправлено, обязательно нужно знать значение кода ошибки.
Код SMTP ошибок состоит из 3 цифр, каждая из которых имеет свое значение.
Первая цифра указывает на то, был ли принят и обработан ваш запрос.
Существует 5 значений для первой цифры кода SMTP ошибки
- Сервер принял команду, но не предпринял никаких действий, так как ожидает подтверждения на выполнение запрашиваемых действий.
- Действие было успешно выполнено и сервер готов принимать новую команду.
- Сервер принял команду, но для её завершения требуется дополнительная информация.
- Возник временный сбой. Если не последует изменений при повторении команды, попробуйте ещё раз.
- Сервер столкнулся с неустранимой ошибкой, ваша команда не будет обработана.
Если код начинается с цифры 2 — ваша команда успешно обработана, если с 4 — есть временный сбой, с 5 — постоянный сбой. В последнем случае ваши письма не будут отправлены, пока вы не устраните ошибку.
Существует 4 значения для второй цифры кода SMTP ошибки
- Синтаксическая ошибка.
- Информационный ответ (запрос информации, например, помощь).
- Обозначает состояние подключения.
- Обозначает состояние почтового сервера или почтовой системы.
Последняя цифра в коде несет более подробную информацию о статусе доставки.
Самые важные коды SMTP ошибок
214 — Ответ на запрос информации о том, как работать с сервером, описание нестандартных команд, полезное только для человека.
220 — Готов к работе.
221 — Служба обслуживает заключительный канал передачи данных.
250 — Запрашиваемое почтовое действие успешно завершено.
251 — Получатель не местный, но сервер переотправит письмо.
252 — Почтовый ящик не может быть верифицирован сервером, но он будет осуществлять попытки доставить письмо.
354 — Начинайте ввод сообщения. Оно должно заканчиваться точкой на новой строке.
421 — Сервер недоступен, канал связи будет закрыт.
422 — Размер письма превышает лимит входящих сообщений получателя.
442 — Почтовый сервер начал доставлять письмо, но подключение было прервано во время передачи.
450 — Запрашиваемое действие не было выполнено, почтовый ящик был недоступен. Он может быть временно занят.
451 — Запрашиваемое действие было прервано, локальная ошибка во время обработки.
452 — Запрашиваемое действие не выполнено: недостаточно места в системе.
500 — Синтаксическая ошибка, потому что серверу не удалось распознать команду. Это может быть слишком длинная командная строка.
501 — Синтаксическая ошибка в параметрах или аргументах. Это может быть неправильный адрес электронной почты.
502 — Команда нереализована. Она валидна, но не активирована вашим провайдером.
503 — Неверная последовательность команд, почтовый сервер требует аутентификацию.
504 — Параметр команды не реализован.
510 — Неверный адрес электронной почты. Адреса ваших получателей могут содержать ошибки.
512 — Домен получателя не найден или не существует.
513 — Неверный адрес электронной почты. Может содержать ошибки, или сервер требует аутентификацию.
515 — Неверный адрес электронной почты.
521 — Почтовый ящик не принимает письма.
523 — Размер письма превышает лимит почтового ящика получателя.
530 — Требуется аутентификация, или сервер получателя добавил вас в черный список. Это может быть и неверный адрес электронной почты.
531 — Почтовая система заполнена.
534 — Недостаточно надежный механизм аутентификации.
535 — Ошибки аутентификации.
541 — Почтовый ящик получателя отметил ваше письмо как спам.
550 — Запрашиваемые действия не выполнены, потому что почтовый ящик недоступен. Команда могла быть отклонена политикой безопасности, или почтовый ящик не был найден.
551 — Нелокальный пользователь или неверный адрес электронной почты.
552 — Запрашиваемое действие прервано из-за превышения дискового пространства.
553 — Запрашиваемое действие не выполнено, возможна синтаксическая ошибка в имени почтового ящика.
554 — Передача данных не удалась. Так случается, если сервер получателя считает ваше письмо спамом, находит ваш IP адрес в черном списке, или сам добавляет его в свой черный список.
555 — Адрес электронной почты не был опознан сервером.
SMTP для email рассылок
Забудьте об SMTP ошибках! Мы позаботимся о технической стороне рассылок, чтобы вы могли сконцентрироваться на маркетинговой стратегии.
- Выделенный IP адрес не позволит попадать в черные списки, ведь репутация отправителя будет зависеть только от вас.
- Криптографические подписи DKIM и SPF помогут подтвердить подлинность вашего домена и минимизируют количество писем, попадающих в спам.
Мы оставляем свои подписи на всех исходящих сообщениях по умолчанию, что улучшает доставляемость писем.
Отправить рассылку
Обновлено: 02.12.2020
This document describes the set of extended status codes for use within the SMTP mail system for delivery status reports, tracking, and improved diagnostics. In combination with other information provided in the Delivery Status Notification (DSN) delivery report, these codes facilitate media and language independent rendering of message delivery status.
- These codes are documented in RFC 3463
- SMTP Server Status Codes and SMTP Error Codes
Status Code Structure[edit | edit source]
This document defines a new set of status codes to report mail system conditions. These status codes are used for media and language independent status reporting. They are not intended for system specific diagnostics.
The syntax of the new status codes is defined as:
status-code = class "." subject "." detail
class = "2"/"4"/"5" subject = 1*3digit detail = 1*3digit
White-space characters and comments are NOT allowed within a status-code. Each numeric sub-code within the status-code MUST be expressed without leading zero digits.
Status codes consist of three numerical fields separated by «.». The first sub-code indicates whether the delivery attempt was successful. The second sub-code indicates the probable source of any delivery anomalies, and the third sub-code indicates a precise error condition.
Example: 2.1.23
The code space defined is intended to be extensible only by standards track documents. Mail system specific status codes should be mapped as close as possible to the standard status codes. Servers should send only defined, registered status codes. System specific errors and diagnostics should be carried by means other than status codes.
New subject and detail codes will be added over time. Because the number space is large, it is not intended that published status codes will ever be redefined or eliminated. Clients should preserve the extensibility of the code space by reporting the general error described in the subject sub-code when the specific detail is unrecognized.
Status Codes[edit | edit source]
Error Code | Meaning | Notes |
---|---|---|
1.0.1 | Cannot open connection | Typically your SMTP server or email program is unable to even start an SMTP session. Typical replies will be “SMTP Error 101, Error opening connection” or “SMTP Error 101, cannot open SMTP stream”.
All SMTP Error 101 errors usually point to a configuration problem, such as an incorrectly spelt SMTP server, or an IP address that does not exist, or an SMTP port that does not exist or which the recipient will not accept SMTP connections on, or some other process is already using the |
1.1.1 | Connection refused | Typically from Linux based email systems such as SquirrelMail and Mailman. The message will usually go like this : “Connection refused, 111 Can’t open SMTP stream”.
All SMTP Error 111 errors usually point to an inability of your server to communicate with the remote SMTP server (either the recipient’s SMTP server or your ISP’s SMTP server) or to a Linux/SMTP software configuration problem, typically /etc/hosts not being world readable, or a newly installed or reconfigured firewall preventing connection to the remote SMTP server, or incorrect hostnames and/or domains (e.g. does your sending hostname match your IP address in a reverse lookup?), or exim not running. Telnet and logs should help you home in on the problem. |
Status Code 2.X.X — Success Messages | ||
2.1.1 | System Status message or System Help Reply | SMTP status 211 prefaces a message about the Mail Server status or a System Help reply to the user requesting help information. You might for example issue a command to the mail server to display a list of commands you can use and the server replies with an SMTP Reply 211 followed by the list you requested. |
2.1.4 | Help Reply message | SMTP status 214 is usually in reply to the “HELP” command.It displays information about the server, usually a URL to the FAQ page of the SMTP software running on the server. As a result this “error” is normally called a reply, as in SMTP Reply 214. |
2.2.0 | <Server Name> service is running | This is normally the first message you will get back from the server. It means the mail service is running (ie. your mail server is running). It will normally contain a welcome message and/or the title of the SMTP software and, sometimes, the version number of the mail server software.SMTP Reply 220 is effectively a “Hi There, I have just this second finished starting up – I am ready to go and at your command” informational message. |
2.2.1 | The domain service is closing the transmission channel | The server is ending the mail session – it is closing the conversation with the ISP as it has no more mail to send in this sending session.
SMTP Status 221 is often misconstrued as an error condition, when it is in fact nothing of the sort. The mail server is simply telling you that it has processed everything it was given in this particular session, and it is now going back into waiting mode. Because SMTP status 221 is often misinterpreted, with some mail servers the Network Administrators have changed the default text of SMTP Reply 221 to something more meaningful and less alarming. For example, a typical SMTP reply 221 might say “221 Goodbye” or “221 Closing connection”, or the most irritating one we’ve seen “221 Bye”, Arrrgghh–can you blame anyone for thinking there might be a problem? Of course not! So some Network Administrators are these days being quite imaginative by changing the default text of SMTP reply 221 to more user friendly messages like : “221 Thank you for your business”(I love that one!),or “221 All messages processed successfully in this session, SMTP connection is closing”. |
2.1.4 | Help Reply message | SMTP status 214 is usually in reply to the “HELP” command. It displays information about the server, usually a URL to the FAQ page of the SMTP software running on the server. As a result this “error” is normally called a reply, as in SMTP Reply 2.1.4. |
2.2.0 | <Server Name> service is running | This is normally the first message you will get back from the server. It means the mail service is running (ie. your mail server is running). It will normally contain a welcome message and/or the title of the SMTP software and, sometimes, the version number of the mail server software. SMTP Reply 220 is effectively a “Hi There, I have just this second finished starting up – I am ready to go and at your command” informational message. |
2.2.1 | The domain service is closing the transmission channel | The server is ending the mail session – it is closing the conversation with the ISP as it has no more mail to send in this sending session.
SMTP Status 221 is often misconstrued as an error condition, when it is in fact nothing of the sort. The mail server is simply telling you that it has processed everything it was given in this particular session, and it is now going back into waiting mode. Because SMTP status 221 is often misinterpreted, with some mail servers the Network Administrators have changed the default text of SMTP Reply 221 to something more meaningful and less alarming. For example, a typical SMTP reply 221 might say “221 Goodbye” or “221 Closing connection”, or the most irritating one we’ve seen “221 Bye”, Arrrgghh – can you blame anyone for thinking there might be a problem ? Of course not ! So some Network Administrators are these days being quite imaginative by changing the default text of SMTP reply 221 to more user friendly messages like: “221 Thank you for your business” (I love that one!), or “221 All messages processed successfully in this session, SMTP connection is closing”. |
2.5.0 | Requested mail action OK completed | The mail server has successfully delivered the message! This is the best SMTP reply (250) to receive — your message has been accepted and transmitted OK ! 250 is effectively a status code rather than an error code – there is no such thing as an SMTP error 250. |
2.5.1 | User not local will forward | The email account is not local to the ISP server but the ISP server will accept the email and will forward it (the server will RELAY your message, this is the
most common action for ISP Mail servers – the recipient will see your ISP in the mail header as one of the first hops on the way to the recipient’s email system). SMTP Error 251 is therefore more of an informational message for technicians tracking how a message reached its destination. |
2.5.2 | Cannot VRFY (verify) the user – the server will accept the message and attempt to deliver it | The user account appears to be valid but could not be verified, however the server will try do
deliver the message. There are sometimes circumstances where an email address appears to be valid but cannot be verified as definitely valid during the SMTP session between the sending server (your server) and the next server to accept your message. This can happen for example in very large corporation where the first email receiving server might only be an email exchanger server, a gateway server to the eventual server which holds the user mailboxes and which can verify if the intended recipient exists in that organization. When this happens the gateway server will reply with an SMTP Error 252 telling your sending server that it cannot verify the user part of the email address, that the domain part is OK, and that it will forward your email to a server which can do the checking and eventually deliver to the user mailbox if it exists. |
Status Code 3.X.X — Informational | ||
3.5.4 | Start mail input end with <CRLF>.<CRLF>, or, as a less cryptic description – “FROM and TO information received, now please provide message body and mark its end with <CRLF>.<CRLF>” | This is normally in response to the DATA command. The server has received the From and To information and is now asking for the “Message Body”, the main part of the message which should be ended by two blank lines separated by a dot (period).
Therefore, on receiving an SMTP Reply 354 the sending server should send the body of the message to the |
Status Code 4.X.X — Persistent Transient Failure | ||
4.2.0 | Timeout communication problem encountered during transmission. This is a Novell GroupWise SMTP error | In our experience only Novell GroupWise servers use this error (we use GroupWise!). You will get a GroupWise GWIA (GroupWise Internet Agent) 420 TCP Write Error or 420 TCP Read Error if there are communication problems during transmission of the actual message after the sending and receiving servers have actually connected. A small number of 420 SMTP errors is normal as occasional peaks of Internet usage may delay the transmission of an email with attachment so much that a timeout occurs. When a timeout occurs on a GWIA send, the message is queued up in the <Domain>WPGATEDEFER directory for processing at a later time (as defined in ConsoleOne or GWIA.CFG).
If you experience 420 errors only with specific recipient then it is quite likely that the recipient’s antispam firewall does not like your server, your server’s external IP address, or that your server’s HELO command uses an outbound identification that does not match your server’s external IP address (check that your sending domain’s DNS is set up correctly). In an ideal world a well behaved recipient server should really be issuing your GroupWise server with a 554 error rather than timing out and causing the GroupWise GWIA to fault with a 420 error. If you experience too many 420 errors with all email communications, then you have a physical communication problem somewhere. This could be your server’s network card, the network point that your server is plugged into, your switch(es), your router(s), your firewall, or your Internet line – problems caused by routers with different MTU sizes is a classic issue. Unless the logs of all those various problem points can give you an instant answer, the only way you will get to the bottom of the problem is to use a packet tracing and inspection program like Ethereal or Wireshark, its successor, if you’re running GroupWise on a Windows or Linux server; on NetWare your only choice is PacketScan which you can get here http://support.novell.com/docs/Readmes/InfoDocument/2967287.html. In the final analysis, if the tracing of packets, and the changing of hardware does not help then do not discount a slightly faulty hard disk being the cause of all your problems (even if your RAID controller or your hard disk testing software does not detect any problem!). |
4.2.1 | The SMTP service/server you use has a limit on the number of concurrent SMTP streams your server can use | The Mail transfer service is unavailable because of a transient event. SMTP reply
421 can be caused by many things but generally indicates that the mail server which returns this status code is currently unavailable but may be available later. For example, the server administrator may have stopped the mail service to troubleshoot a problem, or the mail server is right in the middle of rebooting, or the mail server is currently processing too many incoming messages or incoming requests, etc… Note : “Mail Server” in this case can be any of the mail servers on the message’s route – the sending server (your server), the ISP SMTP server, or the recipient’s mail server. Clearly, if you repeatedly receive an SMTP status 421 then the problem is no longer of a transient nature and you need to investigate or inform the relevant network administrator, ISP tech support, or the recipient. SMTP Response 421 can also be received as a result of your message server sending an email where the total |
4.2.2 | The recipient’s mailbox is over its storage limit
( OR ) The size of the message exceeds the recipient’s size limits for incoming email |
Either the recipient’s mailbox is over its storage limit or the message delivery directory (folder) on the recipient’s mail server is currently over a size limit imposed by the Network Administrator (e.g. possibly as a result of the mail server having been down for some time, having been repaired, and currently in the process of collecting thousands of queued up messages).
However, SMTP response 422 can also be received if the email being sent is larger than the incoming emails size limit in operation at the recipient’s mail server (particularly when that recipient’s mail server is Exchange Server). |
4.3.1 | The recipient’s mail server is experiencing a Disk Full condition | The recipient’s mail server is experiencing a Disk Full error condition, or an Out of Memory (too many file handles) error condition (Microsoft Exchange). |
4.3.2 | The recipient’s Exchange Server incoming mail queue has been stopped | This is an SMTP status response specific to Microsoft Exchange Server. It indicates that the recipient’s mail queue on their Exchange Server has been stopped (frozen), probably while the Network Administrator troubleshoots some problem. |
4.4.1 | The recipient’s server is not responding | This is an error emanating from your server indicating that the recipient’s server is not responding. Your server will automatically try again a number of times – how many depends on how your server has been configured. |
4.4.2 | The connection was dropped during transmission | Your server started delivering the message but the connection was broken during transmission. This may be an unusual transient error – however, if it keeps happening you should investigate possible problems with your server’s network card, your Internet routers, processes hogging the resources of your server, and anything else which could result in a network connection being broken. |
4.4.6 | The maximum hop count was exceeded for the message | The maximum hop count was exceeded for your message. The most likely cause of this error status code is that your message is looping internally on your server, internally between two of your organisation’s servers, or, sometimes, looping between your server and the recipient’s server. |
4.4.7 | Your outgoing message timed out. | Your outgoing message timed out because of problems with the receiving server who objected to your message. Typically there is a problem with the message header (such as too many recipients, in most cases, or a protocol timeout between the two servers). |
4.4.9 | Routing error | This is a Microsoft Exchange Server specific error code. As per Microsoft’s documentation this error code is returned when either of the following conditions occurs: an SMTP connector is configured to use DNS without a smart host and also uses a non-SMTP address space (e.g. X.400), or A message was sent to a recipient who was identified as a member of a routing group that was deleted. |
4.5.0 | Requested action was not taken – The mailbox was unavailable at the remote end. A secondary SMTP error code may follow “450” to refine the reason for the failure to transmit the message, e.g. “SMTP Error 450”. | The server could not access the mailbox to deliver the message. This could be caused by a process on the remote server tidying up the mailbox, or the remote mailbox could be corrupt, or the remote mailbox may be stored on another server which is currently offline, or the network connection went down while sending, or the remote mail server does not want to accept mail from your server for some reason (IP address, blacklisting, etc..).
In general SMTP Error 450 is a transient error at the remote end (the destination), or at one of the routers or servers en route to the remote end, and should induce your mail server to retry after it’s preset retry interval. Example of an SMTP Error 450 reply message: “450 Please try again later”, or a classic Novell GroupWise 450 status message: “The message that you sent has been delayed. The reason given for the delay: 450 Host down (relay.clara.net)”. SMTP Error 450 is often followed by a second SMTP error code to refine the reason for the email not reaching its destination. For example: “SMTP Error 450 5.2.3 Msg Size greater than allowed by Remote Host”. When that is the case and If the error message is not as clearly worded as in this example, then simply search this document for the secondary error code. In this case searching this document for SMTP Error 523 or SMTP Error 5.2.3 would yield an explanation identical to the wording above. |
4.5.1 | Requested action aborted – Local error in processing.( OR ) Requested action delayed – Local problem( OR ) <IP_Address> has recently sent spam |
The action has been aborted by the ISP’s server. “Local” (Local Problem, Local Error) refers to the next server that your message will go through after leaving your server, typically your ISP’s server, or the SMTP relaying service you are using, or, if your mail server is sending directly to the destinations, the destination mail server. This error is usually due to overloading at your ISP or your SMTP relaying service from [temporarily] too many messages or some other similar transient failure. Typically some [hopefully] temporary event prevents the successful sending of the message. The next attempt to send by your server may prove successful.
If this error keeps occurring to the point that it has effectively lost its transient nature and has become… frequent (!!), then the problem is at your end and you should check your own mail server (if you email out of a corporate network), communications on your side (router, server network card), or inform your ISP if your mail server relays through your ISP or if you are a home user emailing out through Outlook, Outlook Express, Windows Mail, or similar email program. Examples of typical SMTP Error 451 return messages: “SMTP error 451 Unable to complete command, DNS not available or timed out” or “451 Domain of sender address does not resolve” or “451 Error getting LDAP results in map”, or “451 4.7.1 Greylisting in action, please come back in 00:02:00 [minutes]” or “The message that you sent has been delayed. The reason given for the delay : 451 Temporary local problem — please try later.”. With the original SMTP standards having been invented before spam became the scourge of the Internet, there are no SMTP error codes dedicated to anti-spam errors. As a result, SMTP Error 451 is now increasingly also used to indicate that a message has been rejected by the remote server because of anti-spam measures. A typical error might be, for example: “SMTP error from remote mail server after end of data, host <host_address>: 451 <ip_address> has recently sent spam. If you are not a spammer, please try later.”. If all anti-spam related SMTP 451 errors are as descriptive as the one above, then the error itself will tell you what you need to do. As a general rule, however, you will most times need to take some measures to have either your server, or your ISP’s server, taken off some Internet blacklist used by the recipient. |
4.5.2 | Requested action not taken – Insufficient storage. | The ISP server’s disk system has run out of storage space, so the action had to be cancelled. Unless you are with an ISP which is so slack that they have not implemented Disk Full Alerts, this error usually indicates that your ISP’s mail server is overloaded from too many messages. This can happen even to the best ISPs when, for example, there have been problems and none of the ISP’s customers could send mail; as soon as the problems are fixed there is almost always a situation where thousands of users and organizations are trying to send mail all at the same time, and those numbers can occasionally result in the ISP’s mail servers’ hard disks temporarily filling up, with SMTP Error 452 being the result. The next attempt to send by your server may prove successful. |
4.6.5 | Code Page unavailable on the recipient server | This is an Exchange Server-specific error code. This error is returned by the recipient’s server if the incoming email specifies a Code Page that is not installed on the recipient’s server, normally because not all language files were installed on the server during either the installation of Windows or of Exchange Server. |
4.7.1 | This is a local error with the sending server and is often followed with “Please try again later” | This is always a local error with your own mail server. SMTP Error 471 (or 4.7.1) is usually tagged onto a primary SMTP error code, for example “SMTP Error 450 4.7.1”, or “SMTP Error 451 4.7.1”, or “SMTP Error 550 4.7.1”; example: “451 4.7.1 Greylisting in action, please come back in 00:02:00 [minutes]”. In all the cases that we have seen SMTP Error 471 is usually caused by anti-spam or virus scanning software on your server (the sending server) getting into problems through a bug in the software, or because of a bad automatic update from the antivirus/anti-spam manufacturer, because of lack of memory on your server, or because of hard disk problems. |
Status Code 5.X.X — Errors | ||
5.0.0 | Syntax error command not recognized. | SMTP Error 500 : The last command sent by your server was not recognized as a valid SMTP or ESMTP command, or is not formatted in the way the server expected. This includes situations where the command is too long.
Note that commands that are recognized, but not implemented, are handled by different status messages (see 502 and 504). Note: A «500 unrecognized command» server response is often a case of antivirus software and/or firewall interfering with incoming and/or outgoing SMTP communications. Read your antivirus / firewall software documentation thoroughly to solve the problem. Examples of SMTP Error 500 error messages: SMTP Permanent Error: 500 Access Denied By Port Access” or “SMTP Error 500 Line too long. |
5.0.1 | Syntax error in parameters or arguments (e.g. invalid email address) Can sometimes also be indicative of communication problems. |
The command was correct and recognised, but the parameters (the arguments, e.g. email address) were not valid.
For example, the following email address will definitely give an SMTP Error 501 with most mail servers, happy[email protected], as “” is not allowed in email addresses, which makes this email address invalid. In the vast majority of cases SMTP Error 501 is caused by invalid email addresses, an invalid domain name recipient, or a Unix / Linux SEND MAIL command which does not follow the established standards. For example, a typical return error message might be: «<remote-server-ip-address> does not like recipient. Remote host said: 501 Invalid Address«. In cases where the error is not caused by an invalid email address, or by the failure to assign a valid email address to the mandatory «From» property, an SMTP Error 501, particularly if repeated, can be indicative of communications problems, such as a noisy line, intermittent drops in network connections, etc… |
5.0.2 | Command not implemented | The command or function issued by your mail server is valid but has not been activated (typically, it is not supported on this particular server). |
5.0.3 | Bad sequence of commands.( OR ) This mail server requires authentication. |
In the original standards SMTP Status 503 indicates that the commands have been sent in the wrong order, for example your mail server has sent the “Hello” command before sending the “Mail” command.
This can often be caused by a drop in network connection just as your server was sending a command, resulting in SMTP Reply Code 503 is nowadays more often an indicator that the SMTP server you are trying to use requires authentication and you tried to send a message without authentication (username + password). This SMTP Error 503 is permanent in that the SMTP server will not log any errors in its log and it will not retry – you will have to resend the email using authentication. Example of such an error : “SMTP Error (state 13): 503 This mail server requires authentication when attempting to send to a non-local e-mail address. Please check your mail client settings or contact your administrator to verify that the domain or address is defined for this server”. |
5.0.4 | Command parameter not implemented. | The command and parameter are both valid, but the parameter is not implemented on the ISP server, or an additional parameter or action is missing.
For example, an often encountered SMTP Error 504 is : “504 Need to authenticate first” |
5.1.0 | Bad Email Address | Bad email address. This status code is generated by the sender’s local mail server.
If the email was addressed internally, then it means that the addressee, as written in the email’s TO, CC, or BCC fields, does not exist in your organization’s email system. If the email was addressed externally, then the recipient’s email address was misspelt. |
5.1.1 | Bad Email Address | Bad email address. This error is similar to error 510 and as with error 510, this status code is generated by the sender’s local mail server.
If the email was addressed internally, then it means that the addressee, as written in the email’s TO, CC, or BCC fields, does not exist in your organization’s email system. If the email was addressed externally, then the recipient’s email address was misspelt. |
5.1.2 | The host server for the recipient’s domain name cannot be found (DNS error) | This SMTP reply code is received when one of the servers on the way to the destination is unable to resolve the domain name of a recipient email address. Said differently : one of the servers on the way to the destination, including your server or your ISP, has a DNS problem or, possibly correctly, does not like one of the email addresses in the message’s TO, CC, and BCC fields.
The first check you should perform to resolve a 5.1.2 reply code is to check all the recipient email addresses for Examples of typical SMTP error 512 messages : “5.1.2 — Bad destination host ‘DNS Hard Error looking up domain”, |
5.1.3 | Address type is incorrect (most mail servers)( OR ) Relaying denied or Authentication required (a small percentage of mail servers) |
This status code (from the sender’s
mail server) is usually symptomatic, in an Exchange + Outlook environment, of the user’s Outlook Contacts having been imported from another system or PST and where some of the addresses are not defined correctly. Or, in any environment it is simply that the end-user simply did enter the email address completely wrongly, such as copying it from a website and not replacing “at” with “@”, e.g. : John.DoeatUCLA.edu (which should have been [email protected]), or [email protected]” (“, quotes, is not allowed in email addresses and is often included in error as a result of copying and pasting an email from somewhere). The user should check all the recipient addresses in the email, including those that were inserted from Contacts. |
5.2.3 | The Recipient’s mailbox cannot receive messages this big | This error will be received when the
total size of the message you have sent (ie: message + all of its attachments) exceeds the size limits on the Recipient’s server. Many companies implement the good practice of configuring their servers with limits on the size of emails they can receive to prevent their systems running out of space as a result of a spam attack where the spam emails contain large attachments, or as a result of valid but not very technically savvy senders sending enormous scans (through not knowing that scanning at 1200dpi rather than the usually perfectly usable and acceptable 300dpi, will create humongous attachments). Check the size of the email you sent, and, specifically, the size of the attachments you included, and consider splitting your email into smaller emails. If that does not work, check with the Recipient the maximum size of email they can receive, and if that is still prohibitive then consider FTP arrangements between you and the recipient. |
5.3.0 | Authentication is required( OR ) Your server has been blacklisted by the recipient’s server( OR ) The recipient’s mailbox does not exist |
|
5.4.1 | Recipient Address Rejected – Access denied (typically by the recipient’s antispam program / appliance) | |
5.5.0 | Requested actions not taken as the mailbox is unavailable.
550 is always a problem external to your own mail server. Usually it is at the recipient’s end, but it could also originate from inside your own “walls” through being caused, for example, by an appliance which scans your outgoing emails once they’ve left your server. |
|
5.5.1 | User not local or invalid address – Relay denied. | |
5.5.2 | Requested mail actions aborted – Exceeded storage allocation. or Size of the incoming message exceeds the incoming size limit. | |
5.5.3 | Requested action not taken – Mailbox name invalid.( OR ) You are attempting to send emails through a specific ISP’s SMTP server without authentication and without being connected to the Internet through that ISP’s service.( OR ) You are sending from an Exchange server configured to send via DNS and you do not have a public reverse DNS record pointing back to your Exchange server. |
|
5.5.4 | Transaction failed. Nowadays SMTP status 554 is in most cases returned when the recipient server believes your email is spam or your IP address or ISP server has been blacklisted on one or more Internet blacklists. With Yahoo, on the other hand, this usually means the email address does not exist or has been disabled.( OR ) With IBM’s Lotus Domino this is either a Domino bug or a Disk Full error |
|
5.7.1 | I have been told not to work with you!!! |
Collected Status Codes[edit | edit source]
X.1.0 | Other address status |
X.1.1 | Bad destination mailbox address |
X.1.2 | Bad destination system address |
X.1.3 | Bad destination mailbox address syntax |
X.1.4 | Destination mailbox address ambiguous |
X.1.5 | Destination mailbox address valid |
X.1.6 | Mailbox has moved |
X.1.7 | Bad sender’s mailbox address syntax |
X.1.8 | Bad sender’s system address |
X.2.0 | Other or undefined mailbox status |
X.2.1 | Mailbox disabled, not accepting messages |
X.2.2 | Mailbox full |
X.2.3 | Message length exceeds administrative limit |
X.2.4 | Mailing list expansion problem |
X.3.0 | Other or undefined mail system status |
X.3.1 | Mail system full |
X.3.2 | System not accepting network messages |
X.3.3 | System not capable of selected features |
X.3.4 | Message too big for system |
X.4.0 | Other or undefined network or routing status |
X.4.1 | No answer from host |
X.4.2 | Bad connection |
X.4.3 | Routing server failure |
X.4.4 | Unable to route |
X.4.5 | Network congestion |
X.4.6 | Routing loop detected |
X.4.7 | Delivery time expired |
X.5.0 | Other or undefined protocol status |
X.5.1 | Invalid command |
X.5.2 | Syntax error |
X.5.3 | Too many recipients |
X.5.4 | Invalid command arguments |
X.5.5 | Wrong protocol version |
X.6.0 | Other or undefined media error |
X.6.1 | Media not supported |
X.6.2 | Conversion required and prohibited |
X.6.3 | Conversion required but not supported |
X.6.4 | Conversion with loss performed |
X.6.5 | Conversion failed |
X.7.0 | Other or undefined security status |
X.7.1 | Delivery not authorized, message refused |
X.7.2 | Mailing list expansion prohibited |
X.7.3 | Security conversion required but not possible |
X.7.4 | Security features not supported |
X.7.5 | Cryptographic failure |
X.7.6 | Cryptographic algorithm not supported |
X.7.7 | Message integrity failure |
21 SMTP Response Codes That You Need To Know
An SMTP response code list can be used to help quickly determine why an email bounced, or why you’re receiving an SMTP error when sending an email.
But, if you’re not well versed in SMTP monitoring, then making sense of all of these SMTP email status codes can be overwhelming.
That’s why in this blog post, we’re going to give you 21 of the most common SMTP response codes, and a link to our free SMTP server test tool.
First, let’s start by discussing what an SMTP response code is.
The Anatomy of an SMTP Response Code
In our recent blog post, ‘what does an SMTP error mean’, we talk about email status codes and explain that when your email program makes a request, the receiving mail server will return a code indicating the status of the message. This code is known as an “SMTP response code.”
An SMTP response code consists of three digits:
- 1) The error code class: This first digit indicates whether or not the server accepted the command. There are five possible values ranging from 1-5. Each value defines whether the server has accepted the command, fulfilled an action, run into a temporary issue, encountered an error, etc.
- 2) Subject: The second digit in the SMTP response code gives you more information, stating whether there was a syntactic problem, connection trouble, or something else.
- 3) Detail: The last number provides even more information about the mail transfer status.
Now that you have a basic understanding of what an SMTP response code is, here are 21 common SMTP response codes, as laid out in RFC 821 (RFC stands for Request for Comments documents and has been used for more than 40 years as a way to define new standards and share technical information, such as how SMTP relaying works).
21 Common SMTP Response Codes for Email Monitoring
Part of the inherent problem with SMTP codes is that different servers use the codes in different ways, making it impossible to state with certainty the meaning of each code. As you read through each response code below, keep in mind that the meaning could vary depending upon how your mail server was set up.
-
220 — SMTP Service ready.
This is a general reply stating that the SMTP server is ready to continue forward with the next command.
-
221 — Service closing.
This response states that the session or connection to the mail server is ending and all processes are complete. The end result could be either a success or failure.
-
250 — Requested action taken and completed.
This is the best message for a sender to receive because it indicates that the SMTP communication was successful. SMTP response code 250 is also the most common response code in SMTP since it is issued in response to every accepted command (likely 4 to 6 times per message).
-
354 — Start message input and end with …
This indicates that the server is ready to accept the message itself.
-
421 — The service is not available and the connection will be closed.
If you receive ‘SMTP error (421) connection server failed’, then think of this as an open ended error, which is most typically related to the destination server not being “reachable.” However, it may also mean that your sending mail server is not “reachable.” If you’re using a remote mail server for sending, you’ll want to ensure that it’s working properly and the connections are successful. You can test your SMTP connection with this tool.
-
450 — The requested command failed because the user’s mailbox was unavailable (for example because it was locked) try again later.
There can also be some additional meanings to this response code such as:
- a) The email account no longer exists on the recipient mail server
b) The email account does not have permission to receive the email
c) The recipient mail server rejected the email due to a blacklisting or filtering -
How to Fix SMTP Error 450:
- Verify that the email account that you’re trying to reach exists
- Check your mail server’s IP address for blacklisting. At SocketLabs, we highly recommend MX Toolbox for running a blacklist check
- If your email appears to be spammy, then remove any spammy content from the message
- If you’re using an attachment, then try sending the email without the attachment
- a) The email account no longer exists on the recipient mail server
-
451 — The command has been aborted due to a server error.
This is usually not your fault because the receiving mail server’s rules may have prevented the mail from processing.
-
452 — The command has been aborted because the server has insufficient system storage.
This is usually caused by overloading your mail server when attempting to send too many messages at once. To fix this issue, review your mail queue and use an appropriate sending rate
-
455 — The server cannot deal with the command at this time.
If you receive this message, then allow time for more attempts. If unsuccessful, then contact the administrator on the recipient mail server’s side.
-
500 — The server could not recognize the command due to a syntax error.
This response could be caused by antivirus or firewall software. To confirm that this is the case, try disabling each to test the connection.
-
501 — A syntax error was encountered in command arguments.
This is similar to SMTP response code 500. However, a 501 response is often caused by an incorrect/invalid email address.
-
502 — This command is not implemented.
If you receive this response, then you’re most likely experiencing a configuration issue with your underlying MTA. Review your MTA’s configuration and try connecting again.
-
503 — The server has encountered a bad sequence of commands.
This response indicates that the parameters being used are out of order from what the mail server is expecting, which commonly happens when not authenticating an email account. To resolve this error, verify that your email account is authenticating properly and ensure all MTA configurations are in order.
-
504 — A command parameter is not implemented.
This is very similar to SMTP response code 502.
-
521 — This host never accepts mail; a response by a dummy server.
This response simply means that the recipient mail server does not accept and deliver email. To fix the SMTP 521 Error, check to ensure that the message is actually failing and not being relayed.
-
541 — The message could not be delivered for policy reasons — typically a spam filter
(only some SMTP servers return this error code.) If you receive this SMTP response, then it means that your email may have been flagged as spam. Confirm that your server is not sending spam and is not on any blacklists.
SMTP Email Status Code 500
The following 500 SMTP response codes are some of the most important SMTP response codes that you need to be aware of.
-
550 — The requested command failed because the user’s mailbox was unavailable
for example because it was not found, or because the command was rejected for policy reasons. In addition, SMTP response code 550 is also commonly used to indicate additional instances of permanent failures. For example, “550 The mail server detected your message as spam and has prevented delivery.”
-
551 — The recipient is not local to the server.
The server then gives a forward address to try. This is commonly used as a strategy for spam prevention.
-
552 — The action was aborted due to exceeded storage allocation.
This is usually due to the recipient’s mail server being too full. This could either be because the recipient doesn’t check their email, or in some more extreme situations, the recipient is a victim of mail bombing.
-
553 — The command was aborted because the mailbox name is invalid.
In this case, the mailbox was unable to verify the email address. Check to ensure that all the email addresses that you’re sending to are correct.
-
554 — delivery error: Sorry, your message cannot be delivered. This mailbox is disabled.
If you receive SMTP code 554, then this is just a normal invalid address response. Check the email address and try again.
Here’s What to Do When You Encounter an SMTP Response Code
First, don’t panic!
An SMTP response code is just a simple way for servers to communicate with each other.
If you receive an SMTP response, then the first step is to ask yourself why you’re receiving a response. This usually starts with some simple research.
To make research easier, we highly suggest that you bookmark this page for quick and easy reference when you run into an SMTP response code in the future.
You’ll find that in most cases, email response codes probably won’t require you to take any action.
However, if you receive an SMTP error due to an invalid address or permanent failure, then it’s going to be a good idea to remove the failed addresses from your email list so you don’t repeatedly send to the same bad email addresses in the future. This is because sending to bad email addresses will tarnish your sender reputation.
If you’re using an SMTP relay service like SocketLabs, then we’ll automatically add bad email addresses to a Suppression List for you.
This wraps up our post about some of the most common SMTP response codes that you may encounter when sending email and monitoring delivery.
Need further help addressing SocketLabs SMTP response code errors? Contact us online for questions, or get 24/7 product support here.
- Best Practices
When your transactional emails fail to get delivered, you might have an SMTP error that needs to be addressed. But some of the codes are super confusing! Read on to learn about common SMTP response codes and how you can troubleshoot delivery issues.
Simple Mail Transfer Protocol (SMTP) is the standard communication protocol for sending emails over the Internet.
Getting started with SMTP for your transactional emails is quick and easy. You simply provide your server name, SMTP port, username and password. The SMTP server then sends emails on your behalf and takes care of email deliverability.
However, when an SMTP error prevents your emails from getting delivered, it can be difficult to understand its cryptic error codes in your delivery reports. Read on to learn how to read common SMTP response codes and how you can troubleshoot delivery errors.
What are SMTP codes
SMTP response codes are updates sent by an SMTP server during the mail delivery process. Using a 3-digit format, they are sent in response to commands issued by an SMTP client. The following diagram shows the relationship between the SMTP client and server in the mail delivery process.
How to read SMTP codes
The SMTP specification defined basic status codes that were published in 1982. Because the codes were originally designed to report on the outcome of an SMTP command, their lack of detail made them unsuitable for delivery reports.
To compound the problem, some servers would assign the same error code to different delivery failures. Others would assign a code that only explained its meaning in the text description. Inconsistent application of the codes meant it was difficult to resolve mail sending issues!
Enter the enhanced status codes. They extend the basic status codes by providing more detail about the cause of the email delivery failure. Similarly, they also consist of 3-digit numbers separated by decimals. Let’s take a look at how to read them next.
Basic status codes
The first digit of a basic status code tells the sending server whether the response is good, bad or incomplete:
-
2: Positive Completion Reply. The requested action has been successfully completed.
-
3: Positive Intermediate Reply. The command is accepted but more information is needed before proceeding.
-
4: Transient Negative Completion Reply. The command was not accepted and no action was taken. This error is seen as temporary (soft bounce) and the sender can try again later.
-
5: Permanent Negative Completion Reply. The command was not accepted and no action was taken. This is a permanent error (hard bounce) and the sender should not repeat the command.
The second digit puts the SMTP response into a specific category:
-
0: Syntax. Responses about command or parameters.
-
1: Information. Responses to requests for more information.
-
2: Connections. Responses about the transmission channel.
-
5: Mail system. Responses about the status of the receiving mail server.
The third digit goes into more detail within the response category.
For example, if you telnet to MailerSend’s SMTP server and introduce yourself with the HELO command, you will see the following exchange:
HELO mailersend.net
250 smtp.mailersend.net Nice to meet you, [8.38.148.103]
The 250 response code means that it is a positive completion reply about the status of the mail system, i.e. the SMTP server has acknowledged your IP address and is waiting for your next command.
Enhanced status codes
Like the basic status codes, the first digit defines the class to which the code belongs:
-
2: Success! The requested mail action is okay and completed.
-
4: Persistent Transient Failure. Temporary conditions will cause the message to be delayed or abandoned.
-
5: Permanent Failure. The message in its current form cannot be delivered.
The second digit identifies the subject of the SMTP reply code:
-
0: Other or Undefined Status
-
1: Addressing Status
-
2: Mailbox Status
-
3: Mail System Status
-
4: Network and Routing Status
-
5: Mail Delivery Protocol Status
-
6: Message Content or Media Status
-
7: Security or Policy Status
Finally, the third digit provides more detail and it is dependent on the class and the subject.
For example, if you specify the recipient of the email with the RCPT TO command, the SMTP server may respond with 250 2.1.5 Recipient OK. This code means that not only is your command successful, the address of the recipient at the server has been accepted as well.
Common SMTP codes and how to troubleshoot them
The current SMTP standard defines the response codes but they are applied differently between SMTP servers. Not every mail server is configured in the same way and thus there will be differences in how mail delivery failures are interpreted.
Remember:
Because no two SMTP servers are alike, a “mailbox unavailable” response on one server may be a “message rejected” error on another!
General SMTP status codes
SMTP codes that start with 2 and 3 are general status messages that are sent in reply to requests from the sending server. They do not indicate errors in the mail delivery but are used as prompts in the exchange between the mail servers.
-
214 Help message. A response to the HELP command that usually includes a link or URL to the FAQ page.
-
220 SMTP Service ready. The receiving server is ready for the next command.
-
221 Service closing transmission channel. The receiving server is closing the SMTP connection.
-
235 2.7.0 Authentication succeeded: The sending server’s authentication is successful.
-
250 Requested mail action okay, completed. Success! The email was delivered.
-
251 User not local; will forward to <forward-path>. The receiving server doesn’t recognize the recipient but it will forward it to another email address.
-
252 Cannot VRFY user, but will accept message and attempt delivery. The receiving server doesn’t recognize the recipient but it will try to deliver the email anyway.
-
354 Start mail input. The email “header” has been received, the server is now waiting for the “body” of the message.
Temporary SMTP error codes
SMTP 400 codes are transient errors and are usually related to issues at the receiving mail server. Messages are returned as a soft bounce and the sender may try again after, for example, reducing the size of the attachments in the email.
-
421 Service not available, closing transmission channel. The receiving server or sending server is not reachable but another mail delivery will be attempted. If you are using a remote server like MailerSend’s SMTP relay to send emails, test that you can connect to it successfully. Otherwise, you may wish to check the receiving server’s availability.
-
450 Requested mail action not taken: mailbox unavailable. This error could mean that the recipient does not exist, the mailbox does not have permission to receive the email, or the message was rejected due to a blocklist or filter.
To fix this, you should confirm the recipient’s email address, see if your IP address is on a blocklist, test your email for spam-like content, or try sending an email without an attachment.
-
451 Requested action aborted: error in processing. The receiving server is unable to process the message due to email authentication rules. If Sender Policy Framework (SPF) is being used, for example, you should confirm that a DNS lookup can be made for your sending domain and that the domain’s name server is functioning properly.
-
452 Requested action not taken: insufficient system storage. The receiving server is overwhelmed by too many messages being sent at once, or is out of memory or storage space. Review your sending rate by looking at your mail sending queue and logs, or inform the server’s mail administrator about the storage and free memory issues.
-
455 Server unable to accommodate parameters. The server cannot process the command at this time. You can retry after waiting a while or contact the receiving server’s mail administrator if the error persists.
Permanent SMTP error codes
SMTP 500 reply codes are mail delivery errors of a permanent nature that are usually caused by the sender. The receiving server returns the message as a hard bounce and prefers that the sender does not try again unless the problem is fixed.
The 500 series starts with errors in issuing SMTP commands like the following examples:
-
500 Syntax error, command unrecognized. The receiving server does not recognize the command. If your server is using antivirus or firewall software, try disabling them before sending the message again.
-
501 Syntax error in parameters or arguments. The command is recognized but there are errors with its options or command arguments. This server error is sometimes returned for an invalid or incorrect email! But it may be due to your antivirus or firewall software as well.
-
502 Command not implemented. The command is currently not supported on the receiving server. Review your sending commands as well as your MTA’s configuration.
-
503 Bad sequence of commands. The receiving server recognizes the command but its parameters or options are in the wrong sequence. This sometimes appears when the email account is not authenticated. Do review your MTA’s configuration as well.
-
504 Command parameter not implemented. Similar to 502, the command is recognized but its parameters or options are not supported on the receiving server. You may wish to review your sending commands as well as your MTA’s configuration.
The SMTP error codes then get more serious, like being suspected of sending spam or appearing in a blocklist. As an email sender, you should pay attention to the following codes because they can affect your sending reputation and email deliverability.
-
541 The recipient address rejected your message. The mail from the sender has been flagged as spam or blocked by the receiving server’s rules. Find out if your IP address is in a blocklist and scan your emails for content that could trigger spam filters. If you’re clear, ask the administrator of the server nicely to put you on their safelist.
-
550 Requested action not taken: mailbox unavailable. The recipient’s email address does not exist. Verify the email address by making sure it is free of typos or use an email verification tool like MailerSend’s inbuilt feature.
Error code 550 is sometimes used as a generic error code and it can also appear as 550 Blocked error or 550 Invalid recipient depending on the server’s configuration. If you get the blocked error message, check to see if your IP address is in a blocklist.
-
551 User not local; please try <forward-path>. The recipient was not found on the server but the message will be forwarded to another email. Used for spam prevention, this error is shown when you are not authorized to relay mail through the server. Review your authentication records to see if you can use an SMTP relay.
-
552 Requested mail action aborted: exceeded storage allocation. The user’s mailbox is full! Besides waiting for messages to be deleted, you can try to contact them through other means and inform them that their inbox is full.
-
553 Requested action not taken: mailbox name not allowed. The recipient cannot be found due to errors in the email address. Check that the email addresses are correct in the To, Cc and Bcc fields.
-
554 Transaction failed. This is bad news! The receiving mail server will not accept your message because, for example, you’re on a blocklist. Confirm whether your IP address appears in a blocklist. If you’re good, send a request to the receiving server to put your IP in their safelist.
SMTP response codes deciphered
SMTP plays a critical role in the email infrastructure of the Internet. It’s easy to implement it in your technology stack, but when things go wrong it’s hard to decipher what those SMTP codes mean. Here’s a tip: Bookmark this page and return to it whenever you encounter one!
What are the most common SMTP error codes that you’ve come across? Tell us about it below!