Страница 5 из 6
Коды ответов SMTP
В спецификации SMTP требуется, чтобы сервер отвечал на каждую команду SMTP-клиента. МТА-сервер отвечает трехзначной комбинацией цифр, называемой кодом ответа. Вместе с кодом ответа, как правило, передается одна или несколько строк текстовой информации.
Примечание: Несколько строк текста, как правило, сопровождают только команды EXPN и HELP.В спецификации SMTP, однако, ответ на любую команду может состоять из нескольких строк текста.
Каждая цифра в коде ответа имеет определенный смысл. Первая цифра означает, было ли выполнение команды успешно (2), неуспешно (5) или еще не закончилось (3). Как указано в приложении Е документа RFC 821, простой SMTP-клиент может анализировать только первую цифру в ответе сервера, и на основании ее продолжать свои действия. Вторая и третья цифры кода ответа разъясняют значение первой. Если вы разрабатываете SMTP-приложение, обязательно изучите конструкцию всех кодов SMTP-ответа. То, как коды составлены в самом SMTP - превосходный образец грамотного подхода к делу. В табл.2 приведены возможные значения кодов ответа SMTP, определенные в RFC 821.
Таблица 2. Коды ответа SMTP и их значение
Код |
Значение |
211 |
Ответ о состоянии системы или
помощь |
214 |
Сообщение-подсказка (помощь) |
220 |
<имя_домена> служба готова к
работе |
221 |
<имя_домена> служба закрывает
канал связи |
250 |
Запрошенное действие почтовой
транзакции успешно завершилось |
251 |
Данный адресат не является
местным; сообщение будет передано по маршруту
<forward-path> |
354 |
Начинай передачу сообщения.
Сообщение заканчивается комбинацией CRLF-точка-CRLF |
421 |
<имя_домена> служба недоступна;
соединение закрывается |
450 |
Запрошенная команда почтовой
транзакции не выполнена, так как почтовый ящик
недоступен |
451 |
Запрошенная команда не выполнена;
произошла локальная ошибка при обработке
сообщения |
452 |
Запрошенная команда не выполнена;
системе не хватило ресурсов |
500 |
Синтаксическая ошибка в тексте
команды; команда не опознана |
501 |
Синтаксическая ошибка в
аргументах или параметрах команды |
502 |
Данная команда не реализована |
503 |
Неверная последовательность
команд |
504 |
У данной команды не может быть
аргументов |
550 |
Запрошенная команда не выполнена,
так как почтовый ящик недоступен |
551 |
Данный адресат не является
местным; попробуйте передать сообщение по
маршруту <forward-path> |
552 |
Запрошенная команда почтовой
транзакции прервана; дисковое пространство,
доступное системе, переполнилось |
553 |
Запрошенная команда не выполнена;
указано недопустимое имя почтового ящика |
554 |
Транзакция не выполнена |
|