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

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)
Организация соединения220554
EHLO или HELO250504, 550, 502
MAIL250552, 451, 452, 550, 553, 503, 455, 555
RCPT250, 251550, 551, 552, 553, 450, 451, 452, 503, 455, 555
DATA (промежуточный отклик 354)250552, 554, 451, 452, 450, 550 (отказ в соответствии с политикой)
DATA503,55
RSET250
VRFY250, 251, 252550, 551, 553, 502, 504
EXPN250, 252550, 500, 502, 504
HELP211, 214502, 504
NOOP250
QUIT221
2007 - 2017 © Русские переводы RFC, IETF, ISOC.