Коды ответа SMTP
Справочник трёхзначных кодов ответа SMTP и расширенных кодов состояния (X.Y.Z), которые сопровождают возвраты и отклонения писем. Ищите по коду или тексту либо вставьте целиком строку, которую вернул сервер.

Кодов: 117 из 117

Базовые коды ответа

2xxПоложительный ответ о завершении9
211System status

Состояние системы или справочный ответ системы. На практике используется редко.

RFC 5321
214Help message

Справочное сообщение в ответ на команду HELP со сведениями о работе с сервером или с конкретной командой.

RFC 5321
220Service ready

Приветствие сервера при открытии соединения: сервис готов. Также отправляется в ответ на STARTTLS и означает, что можно начинать согласование TLS.

RFC 5321
221Service closing transmission channel

Сервер закрывает соединение, обычно в ответ на команду QUIT.

RFC 5321
235Authentication successful

Аутентификация через AUTH прошла успешно. Обычно сопровождается расширенным кодом 2.7.0.

RFC 4954
250Requested mail action okay, completed

Запрошенное действие выполнено. Стандартный ответ на EHLO, MAIL FROM, RCPT TO и на завершение DATA, когда сервер принимает сообщение.

RFC 5321
251User not local; will forward

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

RFC 5321
252Cannot VRFY user, but will accept message

Сервер не подтверждает, существует ли пользователь (VRFY отключён, чтобы не допустить перебора учётных записей), но примет сообщение и попытается его доставить.

RFC 5321
253OK, pending messages for node started

Ответ на ETRN: сервер начал доставку сообщений, стоявших в очереди для запрошенного домена или узла.

RFC 1985 (ETRN)
3xxПоложительный промежуточный ответ2
334Server challenge

Запрос (challenge) сервера во время AUTH, закодированный в Base64. Клиент должен ответить следующими данными механизма (например, именем пользователя или паролем в AUTH LOGIN).

RFC 4954
354Start mail input

Ответ на DATA: сервер ожидает содержимое сообщения, которое завершается строкой, состоящей из одной точки.

RFC 5321
4xxВременная ошибка9
421Service not available, closing transmission channel

Сервис недоступен, и сервер закрывает соединение: выключение, перегрузка, слишком много соединений или временный лимит отправки. Отправитель должен повторить попытку позже.

RFC 5321
432A password transition is needed

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

RFC 4954
450Requested mail action not taken: mailbox unavailable

Почтовый ящик временно недоступен: занят, заблокирован или временно отклонён политикой. При грейлистинге обычно возвращается этот код или 451.

RFC 5321
451Requested action aborted: local error in processing

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

RFC 5321
452Requested action not taken: insufficient system storage

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

RFC 5321
454Temporary authentication failure

Временный сбой аутентификации (например, не отвечает сервер учётных данных) или TLS временно недоступен при запросе STARTTLS.

RFC 4954 / RFC 3207
455Server unable to accommodate parameters

Сервер сейчас не может обработать параметры, переданные в MAIL FROM или RCPT TO, но, возможно, примет их позже.

RFC 5321
458Unable to queue messages for node

Ответ на ETRN: сервер сейчас не может обработать очередь сообщений запрошенного узла.

RFC 1985 (ETRN)
459Node not allowed

Ответ на ETRN: запрошенному узлу или домену не разрешено запрашивать доставку своей очереди.

RFC 1985 (ETRN)
5xxПостоянная ошибка17
500Syntax error, command unrecognized

Сервер не распознаёт команду или строка слишком длинная. Также используется в AUTH, когда строка обмена превышает допустимую длину.

RFC 5321
501Syntax error in parameters or arguments

Команда допустима, но её параметры или аргументы — нет: например, неправильно сформированный адрес в MAIL FROM или недопустимое имя в EHLO.

RFC 5321
502Command not implemented

Сервер распознаёт команду, но не реализует её или она отключена — как VRFY или EXPN на многих серверах.

RFC 5321
503Bad sequence of commands

Неверная последовательность команд, например RCPT TO до MAIL FROM или DATA без допустимых получателей. Некоторые серверы возвращают этот код при попытке отправки без аутентификации.

RFC 5321
504Command parameter not implemented

Сервер не поддерживает указанный параметр, например механизм AUTH, который он не реализует.

RFC 5321
521Server does not accept mail

Хост вообще не принимает почту. Отправляется в качестве приветствия вместо 220; клиент не должен повторять попытку.

RFC 7504
530Authentication required

Сервер требует пройти аутентификацию или включить TLS через STARTTLS, прежде чем принять команду. Типично при использовании порта отправки 587 без учётных данных.

RFC 4954 / RFC 3207
534Authentication mechanism is too weak

Выбранный механизм аутентификации слишком слаб согласно политике сервера. Некоторые провайдеры возвращают этот код, когда требуют пароли приложений или OAuth.

RFC 4954
535Authentication credentials invalid

Неверное имя пользователя или пароль либо учётные данные отклонены. Сопровождается расширенным кодом 5.7.8.

RFC 4954
538Encryption required for requested authentication mechanism

Выбранный механизм аутентификации разрешён только через зашифрованное соединение: сначала нужно выполнить STARTTLS.

RFC 4954
550Requested action not taken: mailbox unavailable

Почтовый ящик не существует или недоступен либо сообщение отклонено политикой (спам, чёрные списки, SPF, DKIM или DMARC). Конкретную причину указывает сопутствующий расширенный код.

RFC 5321
551User not local; please try forward-path

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

RFC 5321
552Requested mail action aborted: exceeded storage allocation

Превышен выделенный объём: ящик получателя переполнен или сообщение превышает максимальный размер, объявленный расширением SIZE.

RFC 5321
553Requested action not taken: mailbox name not allowed

Адрес электронной почты недопустим или не разрешён, например из-за неверного синтаксиса или потому, что отправителю нельзя использовать этот адрес.

RFC 5321
554Transaction failed

Транзакция не удалась. В качестве приветствия означает, что для этого клиента нет SMTP-сервиса; после DATA — что сообщение отклонено, часто из-за содержимого или репутации отправителя.

RFC 5321
555MAIL FROM/RCPT TO parameters not recognized or not implemented

Сервер не распознаёт или не реализует параметр расширения, переданный в MAIL FROM или RCPT TO.

RFC 5321
556Domain does not accept mail

Домен получателя публикует null MX (запись MX, указывающую на «.»): он заявляет, что не принимает почту, поэтому повторять попытки бессмысленно.

RFC 7504

Расширенные коды состояния (RFC 3463)

2.X.XУспех4.X.XУстойчивый временный сбой5.X.XПостоянный сбой
X.0Прочее или не определено1
X.0.0Other undefined status

Состояние без уточнений: используется, когда известен только класс результата (успех, временный или постоянный сбой).

RFC 3463
X.1Адресация11
X.1.0Other address status

Проблема с одним из адресов сообщения, которая не подпадает под более конкретные коды.

RFC 3463
X.1.1Bad destination mailbox address

Почтовый ящик получателя не существует на целевом сервере. Классический возврат из-за опечатки в адресе или удалённой учётной записи.

RFC 3463Используется с
X.1.2Bad destination system address

Целевой домен или система не существует или не может принимать почту, например потому что имя домена не разрешается.

RFC 3463
X.1.3Bad destination mailbox address syntax

Адрес получателя имеет недопустимый синтаксис.

RFC 3463Используется с
X.1.4Destination mailbox address ambiguous

Адрес получателя соответствует нескольким почтовым ящикам в целевой системе.

RFC 3463
X.1.5Destination address valid

Адрес получателя действителен. Встречается как 2.1.5 в положительном ответе на RCPT TO.

RFC 3463Используется с
X.1.6Destination mailbox has moved, No forwarding address

Почтовый ящик существовал, но был перемещён, и адрес для пересылки неизвестен.

RFC 3463
X.1.7Bad sender's mailbox address syntax

Адрес отправителя имеет недопустимый синтаксис.

RFC 3463
X.1.8Bad sender's system address

Домен отправителя не существует или не принимает ответы, например потому что у него нет ни записей MX, ни A.

RFC 3463Используется с
X.1.9Message relayed to non-compliant mailer

Сообщение передано в систему, которая не поддерживает уведомления о статусе доставки, поэтому подтвердить окончательную доставку не удастся.

RFC 3886
X.1.10Recipient address has null MX

Домен получателя публикует null MX: он заявляет, что не принимает почту.

RFC 7505Используется с
X.2Почтовый ящик5
X.2.0Other or undefined mailbox status

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

RFC 3463
X.2.1Mailbox disabled, not accepting messages

Почтовый ящик существует, но отключён и не принимает сообщения — например, учётная запись заблокирована.

RFC 3463
X.2.2Mailbox full

Почтовый ящик получателя превысил квоту хранилища.

RFC 3463Используется с
X.2.3Message length exceeds administrative limit

Сообщение превышает максимальный размер, который разрешено получать этому получателю.

RFC 3463Используется с
X.2.4Mailing list expansion problem

Получатель — список рассылки, и его не удалось развернуть в список участников.

RFC 3463Используется с
X.3Почтовая система7
X.3.0Other or undefined mail system status

В целевой системе возникла проблема, которая не подпадает под более конкретные коды.

RFC 3463Используется с
X.3.1Mail system full

Хранилище целевой почтовой системы заполнено.

RFC 3463Используется с
X.3.2System not accepting network messages

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

RFC 3463 / RFC 7504Используется с
X.3.3System not capable of selected features

Целевая система не поддерживает функцию, которая требуется для сообщения.

RFC 3463
X.3.4Message too big for system

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

RFC 3463Используется с
X.3.5System incorrectly configured

Целевая система неправильно настроена и не может принять сообщение.

RFC 3463
X.3.6Requested priority was changed

Сообщение принято, но с приоритетом, отличным от запрошенного (расширение MT-PRIORITY).

RFC 6710Используется с
X.4Сеть и маршрутизация8
X.4.0Other or undefined network or routing status

Возникла проблема сети или маршрутизации, которая не подпадает под более конкретные коды.

RFC 3463
X.4.1No answer from host

Целевой сервер не ответил на попытку подключения.

RFC 3463Используется с
X.4.2Bad connection

Соединение было установлено, но оборвалось или стало нестабильным до завершения доставки.

RFC 3463Используется с
X.4.3Directory server failure

Сбой службы каталогов, необходимой для доставки, — как правило, разрешения имён DNS.

RFC 3463Используется с
X.4.4Unable to route

Не найден маршрут к месту назначения, например потому что у домена нет пригодных записей MX или A.

RFC 3463
X.4.5Mail system congestion

Почтовая система перегружена и сейчас не может обработать сообщение.

RFC 3463Используется с
X.4.6Routing loop detected

Обнаружена петля маршрутизации: сообщение слишком много раз прошло через одни и те же серверы.

RFC 3463
X.4.7Delivery time expired

Истёк максимальный срок повторных попыток, и сообщение удаляется недоставленным.

RFC 3463
X.5Протокол доставки7
X.5.0Other or undefined protocol status

Возникла проблема протокола доставки, которая не подпадает под более конкретные коды.

RFC 3463Используется с
X.5.1Invalid command

Команда недопустима, не разрешена в данный момент или не распознана.

RFC 3463Используется с
X.5.2Syntax error

В команде синтаксическая ошибка, и сервер не может её разобрать.

RFC 3463Используется с
X.5.3Too many recipients

У сообщения больше получателей, чем сервер принимает в одной транзакции.

RFC 3463Используется с
X.5.4Invalid command arguments

Команда допустима, но её аргументы недопустимы или не поддерживаются.

RFC 3463Используется с
X.5.5Wrong protocol version

Версии протокола клиента и сервера несовместимы.

RFC 3463
X.5.6Authentication Exchange line is too long

Строка обмена AUTH превышает максимальную длину, допустимую сервером.

RFC 4954Используется с
X.6Содержимое сообщения10
X.6.0Other or undefined media error

Возникла проблема с содержимым сообщения, которая не подпадает под более конкретные коды.

RFC 3463
X.6.1Media not supported

Получатель не поддерживает тип содержимого сообщения или одного из его вложений.

RFC 3463
X.6.2Conversion required and prohibited

Для доставки сообщения потребовалось бы преобразовать его содержимое, но отправитель это запретил.

RFC 3463
X.6.3Conversion required but not supported

Для доставки сообщения потребовалось бы преобразовать его содержимое, а сервер не умеет этого делать.

RFC 3463Используется с
X.6.4Conversion with loss performed

Сообщение доставлено, но при преобразовании содержимого часть информации потеряна.

RFC 3463Используется с
X.6.5Conversion Failed

Не удалось преобразовать содержимое сообщения.

RFC 3463
X.6.6Message content not available

Не удалось получить содержимое сообщения, на которое ссылается URL (расширение BURL).

RFC 4468Используется с
X.6.7Non-ASCII addresses not permitted for that sender/recipient

Отправитель или получатель не поддерживает адреса с символами вне ASCII (интернационализированная почта, SMTPUTF8).

RFC 6531Используется с
X.6.8UTF-8 string reply is required, but not permitted by the SMTP client

Серверу нужно ответить текстом в UTF-8, но клиент не объявил поддержку SMTPUTF8.

RFC 6531Используется с
X.6.9UTF-8 header message cannot be transferred to one or more recipients

В сообщении есть заголовки в UTF-8, и его нельзя передать одному или нескольким получателям, которые их не поддерживают, поэтому оно отклоняется.

RFC 6531Используется с
X.7Безопасность и политики31
X.7.0Other or undefined security status

Состояние безопасности без уточнений. Встречается при успешной аутентификации (2.7.0), временных сбоях AUTH (4.7.0) и отказах по политике.

RFC 3463Используется с
X.7.1Delivery not authorized, message refused

Отправителю не разрешено отправлять почту этому получателю: блокировка по чёрному списку, репутации, антиспаму или попытка недопустимой пересылки (relay). В варианте 4.7.1 обычно означает грейлистинг.

RFC 3463Используется с
X.7.2Mailing list expansion prohibited

Отправителю не разрешено отправлять сообщения в этот список рассылки.

RFC 3463Используется с
X.7.3Security conversion required but not possible

Сообщение нужно преобразовать из одного протокола безопасности в другой, но это невозможно.

RFC 3463
X.7.4Security features not supported

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

RFC 3463Используется с
X.7.5Cryptographic failure

Сбой криптографической операции при передаче, например проверки подписи или расшифровки.

RFC 3463
X.7.6Cryptographic algorithm not supported

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

RFC 3463
X.7.7Message integrity failure

Проверка целостности не пройдена: сообщение изменено при передаче или контрольная сумма не совпадает.

RFC 3463
X.7.8Authentication credentials invalid

Учётные данные для аутентификации недействительны: неверное имя пользователя или пароль.

RFC 4954Используется с
X.7.9Authentication mechanism is too weak

Выбранный механизм аутентификации слабее, чем требует политика сервера.

RFC 4954Используется с
X.7.10Encryption Needed

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

RFC 5248Используется с
X.7.11Encryption required for requested authentication mechanism

Запрошенный механизм аутентификации разрешён только через зашифрованное соединение.

RFC 4954Используется с
X.7.12A password transition is needed

Пользователь должен сменить пароль или перейти на другой механизм аутентификации.

RFC 4954Используется с
X.7.13User Account Disabled

Учётная запись пользователя, который пытается пройти аутентификацию, отключена.

RFC 5248Используется с
X.7.14Trust relationship required

Сервер принимает сообщения только от систем, с которыми у него установлены доверительные отношения.

RFC 5248Используется с
X.7.15Priority Level is too low

Приоритет сообщения слишком низок, чтобы принять его сейчас (расширение MT-PRIORITY).

RFC 6710Используется с
X.7.16Message is too big for the specified priority

Сообщение слишком велико для указанного приоритета (расширение MT-PRIORITY).

RFC 6710Используется с
X.7.17Mailbox owner has changed

После даты, указанной отправителем, у почтового ящика сменился владелец, поэтому сообщение не доставляется (расширение RRVS).

RFC 7293
X.7.18Domain owner has changed

После даты, указанной отправителем, у домена получателя сменился владелец (расширение RRVS).

RFC 7293
X.7.19RRVS test cannot be completed

Сервер не может проверить, сменился ли владелец почтового ящика, как запросил отправитель (расширение RRVS).

RFC 7293
X.7.20No passing DKIM signature found

У сообщения нет ни одной действительной подписи DKIM, а политика получателя её требует.

RFC 7372Используется с
X.7.21No acceptable DKIM signature found

У сообщения есть действительные подписи DKIM, но ни одна не соответствует политике получателя (например, по подписывающему домену или алгоритму).

RFC 7372Используется с
X.7.22No valid author-matched DKIM signature found

У сообщения нет действительной подписи DKIM от того же домена, что указан в заголовке From.

RFC 7372Используется с
X.7.23SPF validation failed

IP-адрес отправки не разрешён в записи SPF домена отправителя.

RFC 7372Используется с
X.7.24SPF validation error

При проверке SPF произошла ошибка, например из-за неправильно сформированной записи или слишком большого числа DNS-запросов.

RFC 7372Используется с
X.7.25Reverse DNS validation failed

У IP-адреса отправки нет обратной записи DNS (PTR), или возвращаемое ею имя не разрешается обратно в этот IP.

RFC 7372Используется с
X.7.26Multiple authentication checks failed

Одновременно не пройдены несколько проверок подлинности сообщения, например SPF и DKIM.

RFC 7372Используется с
X.7.27Sender address has null MX

Домен отправителя публикует null MX, поэтому не смог бы получать ответы и уведомления о недоставке, и сообщение отклоняется.

RFC 7505Используется с
X.7.28Mail flood detected

Сообщение, по-видимому, входит в массовую волну однотипных вредоносных писем.

draft-levine-mailbomb-header
X.7.29ARC validation failure

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

RFC 8617Используется с
X.7.30REQUIRETLS support required

Сообщение требует REQUIRETLS, а следующий сервер на маршруте не поддерживает это расширение, поэтому доставить его с гарантией шифрования невозможно.

RFC 8689Используется с

Вставьте полный ответ сервера, например 550 5.7.1 Message rejected, чтобы сразу увидеть и базовый, и расширенный код. При поиске базового кода также показываются расширенные коды, которые обычно его сопровождают.

Как это работает

В сеансе SMTP на каждую команду клиента (EHLO, MAIL FROM, RCPT TO, DATA…) сервер отвечает строкой, которая начинается с трёхзначного кода. Первая цифра показывает итог: 2 — успех, 3 — сервер ждёт дополнительных данных, 4 — временная ошибка, 5 — постоянная ошибка. Вторая указывает область: x0z — синтаксис, x1z — информация, x2z — соединение, x5z — почтовая система. Текст после кода произвольный, и каждый сервер пишет свой; программы смотрят только на число.

Поскольку три цифры мало говорят о причине, RFC 3463 ввёл расширенные коды состояния в формате класс.тема.деталь: 5.1.1 — это постоянный сбой (5) адресации (1), потому что почтовый ящик не существует (1). Класс повторяет смысл первой цифры (2, 4 или 5), тема группирует причину, а деталь её уточняет. Серверы, которые их используют, объявляют об этом расширением ENHANCEDSTATUSCODES в ответе на EHLO, а тот же код появляется в поле Status уведомлений о недоставке.

Таблица объединяет базовые коды из RFC 5321 и коды, добавленные распространёнными расширениями (AUTH, STARTTLS, ETRN и null MX), а также все расширенные коды из реестра IANA вместе с базовыми кодами, рядом с которыми обычно встречается каждый из них. Крупные провайдеры добавляют собственные тексты и ссылки на справку, но всегда поверх этих же номеров.

Примеры

550 5.1.1 <nadie@example.com>: Recipient address rejected: User unknown in local recipient table5xx Permanent · X.1.1 Bad destination mailbox addressТипичный возврат от Postfix, когда учётной записи не существует. Повторная отправка не поможет: нужно исправить адрес. Если раньше письма этому получателю доходили, скорее всего, учётную запись удалили.
450 4.2.0 <ana@example.com>: Recipient address rejected: Greylisted4xx Transient · X.2.0 Other or undefined mailbox statusГрейлистинг: сервер временно отклоняет неизвестного отправителя и ждёт повторной попытки. Легитимный почтовый сервер сам повторит её через несколько минут, и письмо пройдёт; многие спам-программы не повторяют попыток никогда.
AUTH LOGIN334 VXNlcm5hbWU6Ответ 334 содержит запрос в Base64: VXNlcm5hbWU6 — это «Username:», а следующий, UGFzc3dvcmQ6, — «Password:». Если учётные данные неверны, сервер отвечает 535 5.7.8; если сначала требуется шифрование — 538 или 530.

Сценарии использования

  • Понять по сообщению об ошибке от сервера, почему письмо вернулось.
  • Отличить временную ошибку, которую очередь повторит сама, от постоянной, требующей вмешательства.
  • Диагностировать сбои аутентификации при настройке отправки почты из приложения, с принтера или сервера.
  • Разбирать отказы из-за SPF, DKIM, DMARC, обратного DNS или чёрных списков в логах почтового сервера.
  • Классифицировать возвраты на платформе массовых рассылок, чтобы исключать несуществующие адреса из базы.
  • Читать сеанс SMTP, записанный с помощью telnet, openssl s_client или swaks.

Часто задаваемые вопросы

Чем ошибка 4xx отличается от 5xx?

4xx — временная ошибка: отправляющий сервер оставляет сообщение в очереди и периодически повторяет попытки, как правило, в течение четырёх-пяти дней, прежде чем сдаться и сформировать уведомление о недоставке. 5xx — постоянная ошибка: возврат приходит сразу, и повторная отправка того же сообщения без изменений снова завершится неудачей.

Почему в ответе два кода, например 550 5.1.1?

Первый — базовый трёхзначный код, обязательный по RFC 5321. Второй — расширенный код состояния по RFC 3463, который уточняет причину: 550 может означать несуществующий почтовый ящик (5.1.1), блокировку по политике (5.7.1) или провал проверки SPF (5.7.23). Для диагностики смотрите прежде всего на расширенный код.

Что означает дефис в 550-5.7.1?

Что ответ занимает несколько строк. Все они начинаются с одного и того же кода, но в промежуточных строках код отделён от текста дефисом, а в последней — пробелом; так клиент понимает, где ответ закончился. То же самое видно в списке расширений, который возвращает EHLO.

Почему письмо отклоняют с 550 5.7.1, если адрес существует?

Потому что 5.7.1 говорит не о получателе, а об отправителе: сервер не разрешает вам доставить ему это сообщение. Типичные причины: IP-адрес отправки находится в чёрном списке, домен не проходит проверку SPF, DKIM или DMARC, у IP нет обратной записи DNS или сервер пытались использовать как релей без аутентификации. Подсказку обычно даёт текст, который сопровождает код.

Почему при отправке почты из приложения я получаю 530 или 535?

530 означает, что сервер требует пройти аутентификацию или включить TLS, прежде чем принять сообщение; 535 — что имя пользователя или пароль неверны. Проверьте, что приложение использует порт 587 со STARTTLS или 465 с неявным TLS, что аутентификация включена и что у провайдеров вроде Gmail или Microsoft 365 вы используете пароль приложения или OAuth вместо обычного пароля.