RFC: 5321
Оригинал: Simple Mail Transfer Protocol
Предыдущие версии: RFC 772, RFC 780, RFC 788, RFC 821, RFC 974, RFC 1425, RFC 1651, RFC 1869, RFC 2821
Категория: Проект стандарта
Дата публикации:
Автор:
Перевод: Николай Малых

RFC 5321, Страница 46 из 75

4.3.2. Последовательности команда - отклик

Для каждой команды указаны обычные позитивные отклики. Используемые перед позитивными откликами префиксы включают I (промежуточный), S (успех) и E (ошибка). Поскольку некоторые серверы могут генерировать иные отклики в соответствующих обстоятельствах и с учетом возможности появления новых кодов, клиентам SMTP следует (по возможности) интерпретировать только первую цифру кода. Кроме того, клиент должен быть готов к работе с неизвестными кодами, также интерпретируя в них только первую цифру. За исключением расширений, использующих механизмы, описанные в параграфе 2.2, для серверов SMTP недопустима передача кодов, содержащих что-либо сверх 3 цифр или использующих цифры, не входящие в разрешенный диапазон 2 - 5 (включительно).

Описанные здесь варианты откликов на команды (в принципе, и сами коды) могут дополняться или изменяться при использовании расширений SMTP, предлагаемых сервером и понятных (запрашиваемых) клиентом. Однако, если целью является более четкая грануляция кодов, а не определение кодов для совершенно новых случаев, следует использовать систему, описанную в RFC 3463 [25], чтобы не изобретать новых кодов.

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

500 — для случая «command line too long» (слишком длинная команда) или при получении непонятной команды. Отметим, что отклик «command not recognized» (неизвестная команда) в ответ на команду из обязательного набора является нарушением данной спецификации. Аналогично, генерация сообщения «command too long» в ответ на команду, длина которой не превышает 512 будет нарушением требований параграфа 4.5.3.1.4.

501 Syntax error in command or arguments (синтаксическая ошибка в команде или аргументах). Для поддержки будущих расширений командам, включенным в данную спецификацию, как команды без аргументов (DATA, RSET, QUIT), следует возвращать отклик 501 при получении команды с аргументами, если иное не согласовано в анонсированном EHLO расширении.

421 Service shutting down and closing transmission channel — сервис отключен с разрывом коммуникационного канала.

В нормальных условиях в ответ на команды могут возвращаться следующие отклики:

Команда Успех (S) Неудача (E)
Организация соединения 220 554
EHLO или HELO 250 504, 550, 502
MAIL 250 552, 451, 452, 550, 553, 503, 455, 555
RCPT 250, 251 550, 551, 552, 553, 450, 451, 452, 503, 455, 555
DATA (промежуточный отклик 354) 250 552, 554, 451, 452, 450, 550 (отказ в соответствии с политикой)
DATA 503,55
RSET 250
VRFY 250, 251, 252 550, 551, 553, 502, 504
EXPN 250, 252 550, 500, 502, 504
HELP 211, 214 502, 504
NOOP 250
QUIT 221

Страница 46 из 75

2007 - 2022 © Русские переводы RFC, IETF, ISOC.