Информация об ошибках протокола smtp

Extended SMTP commands that some SMTP servers may support

STARTTLS 

The command is used to start a TLS handshake for a secure SMTP session. resets the SMTP protocol to the initial state. Once the response is received from the server, the SMTP client should send or to launch the session. In the case of a negative response (), the client must decide whether to continue the SMTP session or not.

Example:

AUTH

The command is used to authenticate the client to the server. For this, it uses an argument that specifies different levels of security and login methods: , , and . The session is considered authenticated once the server provided a positive response. For more on this, read the SMTP authentication blog post.

Example:

ATRN 

The command replaced the obsolete command. It was used to reverse the connection between the local and external SMTP servers (sender and receiver). lacked authentication and hence was deprecated. is devoid of this drawback. Besides, it is available for dynamically assigned IP addresses. 

Проверка доступности почтового сервера программным методом

В данной статье описаны лишь некоторые варианты ошибок, которые могут возникнуть при отправке электронных сообщений. Полный перечень достаточно объемен и во многом зависит от настроек конкретного сервера как на стороне отправителя, так и получателя. Некоторые из ошибок могут быть легко устранены обычным пользователем, другие под силу лишь опытным администраторам.

Одним из способов предупреждения появления ошибок является онлайн-проверка доступности почтового сервера с помощью бесплатных инструментов:

  • https://mxtoolbox.com
  • https://www.ultratools.com
  • http://mail2web.com

Эти сервисы пробуют подключиться к почтовому серверу по SMTP, подтверждают, что у него есть запись обратной зоны DNS, и замеряют время отклика. С их помощью можно диагностировать некоторые ошибки службы почтовых серверов или проверить, не занесен ли данный ресурс в черные списки из-за спама.

Прочитав эту статью, обратите внимание на то, как настроен ваш почтовый сервер на получение сторонних писем по SMTP-протоколу

Быть может, в данный момент ваш антиспам или локальная политика фильтрации входящих сообщений блокирует получение очень важного и нужного для вас месседжа? Проверьте сами или обратитесь к системному администратору. Если ошибку с SMTP никак не удается решить, то попробуйте обратиться в службу поддержки почтового сервера

Если ошибку с SMTP никак не удается решить, то попробуйте обратиться в службу поддержки почтового сервера.

Как избежать ошибок при составлении и отправке писем

Причинами возникновения ошибок и, как следствие, неполучения сообщений могут служить разные факторы. Одни из них связаны с неправильным составлением исходящих писем самим пользователем, другие относятся к более глобальным программным настройкам со стороны получателя.

Самый простой способ это понять – отправить тестовое сообщение на свой ящик. Затем следует протестировать его отправку и получение, используя разные внешние почтовые сервисы: gmail, yandex, mail, rambler и другие. Если сообщение получено, следует ответить на него, проверив корректность исполнения команды «RE» вашим почтовым сервером и принятие ответа условным отправителем.

Довольно часто проблемы с попаданием писем в папку «Спам» или программной блокировкой на стороне получателя лежат в неверном оформлении ключевых полей. Особенно это касается массовых рассылок коммерческого характера. Для отправки большого количества однотипных сообщений как минимум потребуется выполнение следующих параметров настройки:

  • выделенный IP-адрес с целью исключить блокировку на стороне сервера-ретранслятора или почтовой программы конечного получателя;
  • криптографические подписи DKIM и SPF, помогающие подтвердить подлинность домена и минимизировать количество писем, воспринимаемых как спам.

Некорректное использование бота для отправки писем может привести к блокировке отправителя и другим нежелательным последствиям. Даже если информация, которую вы отправляете потенциальным клиентам, реально интересна им, система спам-фильтрации может воспринять данную рассылку как вредоносную. Чтобы избежать этого, лучше всего воспользоваться услугами специализированных компаний.

В моей практике был случай, когда никак не удавалось добиться получения моей электронной корреспонденции одним из сотрудников компании «Лукойл». Письма я отправлял самые простые, используя корпоративный ящик. Только после того, как мой респондент обратился в IT-службу своего предприятия, выяснилось, что данный адрес находится в блэк-листе. Попал он туда из-за каких-то ошибок, допущенных моим предшественником. Понадобилось больше недели, чтобы адрес включили в «белый список». Все это время письма, высылаемые с личного [email protected], доходили без проблем.

Полезно: Почему не приходят письма с сайта. Пример частного случая.

Essential SMTP commands in the order they may be used

Each SMTP command defines a particular function within the SMTP session, which consists of three steps: 

  • handshake – establishing a TCP connection 
  • email transfer – manipulations with the email
  • termination – closing a TCP connection

Therefore, we decided to list the SMTP commands according to this flow.

HELO/EHLO

The command initiates the SMTP session conversation. The client greets the server and introduces itself. As a rule, is attributed with an argument that specifies the domain name or IP address of the SMTP client.

is an alternative to for servers that support the SMTP service extensions (ESMTP). If the server does not support ESMTP, it will reply with an error. 

In any case, or is a MUST command for the SMTP client to commence a mail transfer.

RCPT TO

The command specifies the recipient. As an argument, includes a destination mailbox (forward-path). In case of multiple recipients, will be used to specify each recipient separately.

The command is used only to check whether the server can respond. “” reply in response

HELP

With the command, the client requests a list of commands the server supports. may be used with an argument (a specific command). If the server supports this, it will provide the information accordingly to this request. 

VRFY and EXPN

is used to verify whether a mailbox in the argument exists on the local host. The server response includes the user’s mailbox and may include the user’s full name. 

Example: (server response)

is used to verify whether a mailing list in the argument exists on the local host. The positive response will specify the membership of the recipients. 

Example:

The hyphen (-) between the numerical code and the user’s mailbox indicates that the response is continued on the next line.

RSET

The command resets the SMTP connection to the initial state. It erases all the buffers and state tables (both sender and recipient). gets only the positive server response – . At the same time, the SMTP connection remains open and is ready for a new mail transaction. 

QUIT

The command send the request to terminate the SMTP session. Once the server responses with , the client closes the SMTP connection. This command specifies that the receiver MUST send a “” reply and then closes the transmission channel.

Command-response

As you may have noticed above, some codes are command-specific. Actually, only three of them, , , and can be a response to any SMTP command. Others can be categorized as positive and negative (code can be considered as an intermediate response). Let’s see which commands they can refer to.

Command Positive response Negative response
SMTP handshake (establishing a connection) 220 554
220 454
or 250 502 (response to EHLO for old-time servers)504550
235334 530535538
250     451452455503550552553555
250251           450451452455503550551552553555
250354 (intermediate response)                            450451452503550 (rejection for policy reasons)552554
250
250251252          502504550551553 
250252 502504550
211214 502504
250
221

This is the list of standard response codes. It should be also mentioned that some SMTP servers can generate other three-digit codes. In this case, the SMTP client will have to interpret the first digit that must be in a range from 2 to 5 inclusive. It denotes the essence of the response (successful or not). 

Положительные и отрицательные сообщения SMTP-сервера

Данные коды являются трехзначными, каждая его часть несет в себе определенную информацию, расшифровывающую причину сбоя.

Первая цифра комбинации содержит информацию о качестве доставки:

  • сообщение доставлено («SMTP OK»);
  • возникла неизвестная или временная проблема («SMTP unknown»);
  • критическая ошибка («SMTP error»). 

Существует четыре варианта значений для первой цифры кода:

  • 2xx – положительный результат, есть возможность передачи следующей команды;
  • 3xx – отложенный результат, необходимо осуществление дополнительных действий;
  • 4xx – сообщение не принято, но проблема носит временный характер, и запрос может быть повторен через какое-то время; 
  • 5xx – категорический отказ выполнения команды, отправка запроса со стороны передающего сервера в том же виде невозможна. 

Вторая цифра в коде сообщает о категории ответа:

  • 0 – синтаксические ошибки; 
  • 1 – ответы на запросы информации; 
  • 2 – ошибки канала передачи; 
  • 3 и 4 – неизвестный тип ошибки;
  •  5 – статус почтовой системы.

Третья цифра дает более расширенную информацию о значении, указанном во второй цифре SMTP-ответа.

Помимо цифровой комбинации, SMTP-сообщение может содержать дополнительную текстовую информацию.

Полную информацию о кодах, их компоновке и значениях можно найти в спецификациях RFC 5321 и RFC 1893.

Следует учитывать, что SMTP-message говорит об успешном или неудачном варианте доставки именно на уровне взаимодействия почтовых серверов. Положительный ответ вовсе не означает, что ваше письмо не попало в папку «Спам».

Виды почтовых сервисов

На программном уровне существует несколько видов обработки электронной почтовой корреспонденции. К первой группе относятся виртуальные сервисы, доступные чаще всего в бесплатном исполнении через интернет-соединение на сайте почтового сервера. Это всем известные ресурсы: 

  • Gmail/Google Suite (почта от Google.com);
  • Yandex.ru;
  • Mail.ru; 
  • Rambler.ru и другие.

Более подробную информацию о значениях ответов SMTP можно получить на сайтах популярных почтовых сервисов:

  • Коды ошибок SMTP почтового сервиса Gmail (Google Suite) (support.google.com)
  • Создание и отправка писем на сервисе Яндекс
  • Ошибки отправки писем при использовании сервера и сервиса Mail.ru

Ко второй группе относятся почтовые клиенты – программы, обладающие более расширенным функционалом, чем виртуальные сервисы. Наиболее популярными и универсальными почтовыми клиентами для Windows являются:

  • Opera Mail;
  • Mozilla Thunderbird;
  • Koma-Mail;
  • SeaMonkey;
  • The Bat!;
  • Microsoft Outlook.

Принципы работы почтовых клиентов несколько отличаются от процесса обработки корреспонденции виртуальными серверами. При отправке сообщения программа отсылает его не напрямую конечному получателю, а ретранслирует через сервер-релей. Этот процесс осуществляется чаще всего с использованием протокола SMTP, а получение корреспонденции обычно происходит с помощью IMAP или POP.

Коды SMTP-ответов определяются стандартом. Администратор почтового сервера может создать собственные настройки, в том числе и в части кодировки ответов сервера. Особенно это касается локальных почтовых программ, установленных непосредственно на сервере какой-нибудь компании.

О вариантах выбора и способах создания корпоративных почтовых сервисов более подробно можно прочитать здесь: Что такое почтовый сервер и зачем он нужен.

SMTP response codes

The SMTP server responses to the client using a three-digit code. Each digit has a special significance:

  • First (2 to 5) – denotes whether the request is accepted, incomplete, or declined
  • Second (0 to 5) – denotes the type of error occurred (syntax, information, connections, mail system, or unspecified (two options)). 
  • Third (0 to 5) – provides finest description (together with textual explanation)

The numerical code is followed by a text meant for a human user to get the point. Different servers can use a modified textual description of the response, while the numerical code is permanent. So, here is what your SMTP server can reply with:

Code What it means
101 Server connection error (wrong server name or connection port)
211 System status (response to )
214 Help message (response to )
220 The server is ready (response to the client’s attempt to establish a TCP connection)
221 The server closes the transmission channel
235 Authentication successful (response to )
250 The requested command is completed. As a rule, the code is followed by OK
251 User is not local, but the server will forward the message to <forward-path> 
252 The server cannot verify the user (response to ). The message will be accepted and attempted for delivery
334 Response to the command when the requested security mechanism is accepted
354 The server confirms mail content transfer (response to ). After that, the client starts sending the mail. Terminated with a period ( “”)
421 The server is not unavailable because it closes the transmission channel
422 The recipient’s mailbox has exceeded its storage limit
431 File overload (too many messages sent to a particular domain)
441 No response from the recipient’s server
442 Connection dropped
446 Internal loop has occurred
450 Mailbox unavailable (busy or temporarily blocked). Requested action aborted
451 The server aborted the command due to a local error 
452 The server aborted the command due to insufficient system storage
454 TLS not available due to a temporary reason (response to )
455 Parameters cannot be accommodated
471 Mail server error due to the local spam filter
500 Syntax error (also a command line may be too long). The server cannot recognize the command
501 Syntax error in parameters or arguments
502 The server has not implemented the command
503 Improper sequence of commands
504 The server has not implemented a command parameter
510 Invalid email address
512 A DNS error (recheck the address of your recipients)
523 The total size of your mailing exceeds the recipient server limits
530 Authentication problem that mostly requires the STARTTLS command to run
535 Authentication failed
538 Encryption required for a requested authentication mechanism
541 Message rejected by spam filter
550 Mailbox is unavailable. Server aborted the command because the mailbox was not found or for policy reasons. Alternatively: Authentication is required for relay
551 User not local. The <forward-path> will be specified
552 The server aborted the command because the mailbox is full
553 Syntactically incorrect mail address 
554 The transaction failed due to an unknown error orNo SMTP service here as a response to the client’s attempts to establish a connection
555 Parameters not recognized/ not implemented (response to or )
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: