4. SENDER: MAIL FROM:Smith@usc.edu
Четыре команды, MAIL, SEND, SOML и SAML, имеют одинаковый синтаксис:
MAIL <пробел> FROM:<reverse-path> <carriage-return> line-feed>
Аргумент “обратный путь” (reverse path) указывает серверу, кому в случае ошибки отослать соответствующее сообщение. В аргументе содержится адрес источника сообщения (в нашем случае, Smith@usc.edu). После того как сервер выдал код ответа 250 (строка 5), согласившись обработать сообщение от Smith@usc.edu, необходимо указать получателя сообщения. Это делается при помощи команды RCPT. Команда RCPT имеет аргумент - имя получателя. На одну команду приходится только одно имя, поэтому, если получателей несколько, команда RCPT выдается несколько раз. В нашем примере команды RCPT выполняются в строках 6,8 и 10. Синтаксис RCPT похож на синтаксис команды MAIL:
RCPT <про6ел> TO:<forward-path> <CRLF>
Однако, в отличие от MAIL, аргумент RCPT начинается со слова “TO:”. Содержимое аргумента - путь передачи сообщения (forward path), а не обратный путь. В пути передачи сообщения указано имя почтового ящика получателя. Выдав команду RCPT, МТА-клиент ожидает получить ответ с кодом 250. Однако, в ответ на восьмую строку
8. SENDER: RCPT TO:<Green@mit.edu>
сервер отвечает кодом 550:
9. RECEIVER: 550 No such user here
Код ответа 550 означает, что МТА не в состоянии выполнить запрос клиента, поскольку не знает, как доставить почту указанному пользователю. То есть скорее всего у мистера по фамилии Green нет почтового ящика (Green@mit.edu) на этом компьютере. В протоколе SMTP сказано, что сервер обязан информировать клиента об отсутствии почтового ящика получателя сообщения.
После того как посланы все команды RCPT, клиент начинает передачу при помощи команды DATA. В строке 12 показано, как МТА-клиент (передатчик) высылает команду DATA, в строке 13 - как сервер отвечает кодом 354. Этот код означает, что передача данных разрешена и должна заканчиваться комбинацией CRLF-точка-CRLF (новой строкой, содержащей только точку).
12. SENDER: DATA
13. RECEIVER: 354 Start mail input; end with <CRLF>.<CRLF>
После того как получен код 354, клиент может начать передачу данных. МТА-сервер, в свою очередь, помещает принятые данные в очереди входящих сообщений. Сервер не высылает никаких ответов до тех пор, пока не получит комбинацию CRLF-точка-CRLF от клиента, означающую конец передачи данных. Как показано в строках 16 и 17, в ответ на полученную комбинацию CRLF-точка-CRLF, сервер выдает код 250, что означает успешное окончание операции:
16. SENDER: .
17. RECEIVER: 250 OK
Для того, чтобы закончить почтовую транзакцию, клиент, по правилам SMTP, обязан послать команду QUIT. Сервер, в свою очередь, отвечает кодом 221, который подтверждает клиенту, что соединение будет закрыто, после чего соединение действительно закрывается:
18. SENDER: QUIT
19. RECEIVER: 221 mit.edu Service closing transmission channel
В любой момент во время транзакции клиент может использовать команды NOОР, HELP, EXPN и VRFY. В ответ на каждую команду сервер высылает клиенту определенную информацию. В зависимости от ответа клиент может предпринять определенные действия.
2.1.2. Коды ответов SMTP.
В спецификации SMTP требуется, чтобы сервер отвечал на каждую команду SMТР-клиента. МТА-сервер отвечает трехзначной комбинацией цифр, называемой кодом ответа. Вместе с кодом ответа, как правило, передается одна или несколько строк текстовой информации.
Каждая цифра в коде ответа имеет определенный смысл. Первая цифра означает, было ли выполнение команды успешно (2), неуспешно (5) или еще не закончилось (3). Простой клиент может анализировать только первую цифру в ответе сервера, и на основании ее продолжать свои действия. Вторая и третья цифры кода ответа разъясняют значение первой. В табл. 2 приведены возможные значения кодов ответа SMTP.
Таблица 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 | Транзакция не выполнена |
Значения первой цифры в коде ответа SMTP
Цифра 1 означает, что сервер МТА принял команду, от клиента требуется дополнительное подтверждение. Клиент обязан послать дополнительную информацию о том, продолжать или прервать выполнение запрошенной команды. Из табл. 2 видно, что SMTP не имеет в составе таких команд, то есть коды ответа, начинающиеся с единицы, отсутствуют. В настоящее время команд SMTP, которые бы потребовали дополнительного подтверждения, нет. Разработчики ориентировались на то, что такие команды появятся, и зарезервировали для них коды, начинающиеся с цифры 1.
Коды ответа, начинающиеся с цифры 2, означают, что сервер МТА успешно завершил выполнение команды и ожидает появления новой. Код ответа, начинающийся на 3, означает, что команда начала выполняться, но серверу необходима дополнительная информация для ее завершения. Пример такого кода - 354. В ответ на него клиент МТА должен приступить к передаче почтового сообщения. Код, начинающийся с цифры 4, означает, что сервер не принял команду, и она не выполнена. Во всех ответах серии 400 предполагается, что ошибка временная и клиент может попытаться ее исправить. Коды ответа серии 500 также сообщают, что команда не выполнена. Кроме того, клиент не должен пытаться повторить ту же команду еще раз (по крайней мере в составе той же последовательности).
Значения второй цифры кода ответа SMTP
Вторая цифра кода ответа обозначает категорию ошибки. Цифра 0 обозначает синтаксическую ошибку. Команда может быть слишком длинной, иметь неправильный аргумент или отсутствовать в списке команд сервера.
У сообщений с кодами 211 и 214 из табл. 2 вторая цифра кода равна единице и оба они информационного характера. У команд с кодами 220, 221 и 421 вторая цифра — двойка, и все они имеют дело с передачей данных или с коммуникационным каналом. Коды ответов, у которых вторая цифра равна пяти (250, 450 и 550) связаны непосредственно с почтовой системой. В настоящее время в SMTP не определены значения кодов, вторая цифра которых равна трем или четырем.
Третья цифра кода ответа SMTP
Каждая отдельная строка сообщения должна иметь собственную третью цифру в коде ответа. Рассмотрим, например, сообщения с кодами от 500 до 504. Каждое сообщение означает отдельную синтаксическую ошибку. Поскольку строки, описывающие различные виды ошибок, разные, то и коды ответа должны отличаться друг от друга. Каждое сообщение об ошибке имеет свой собственный порядковый номер в данной серии. Спецификация SMTP рекомендует, но не обязывает использовать строго заданные текстовые строки в ответах MTA-сервера.
Ответ MTA-сервера может состоять из нескольких строк специального формата. Каждая строка (кроме последней) многострочного ответа начинается с кода ответа, дефиса (-), текста и комбинации CRLF. Последняя строка многострочного ответа начинается с кода ответа, за которым следует пробел:
123-Первая строка сообщения из нескольких строк
123-Код ответа, 123, не изменяется
123-1 сообщение может начинаться с цифры
... . В настоящее время ATM предоставляется конечным пользователям только в виде постоянных виртуальных соединений. Однопротокольная среда ATM и в локальных, и в глобальных сетях упрощает управление. Благодаря тому, что межсетевым устройствам не нужно переводить один протокол в другой, задержка невелика и предсказуема. Если сравнивать frame relay и ATM, то последняя, как технология передачи ячеек, ...
... гипертекстовых связей между документами находящимися в различных архивах сети; благодаря этим связям можнонепосредственно во время просмотра одного документа переходить к другим документам. Internet - глобальная компьютерная сеть. internet - технология сетевого взаимодействия между компьютерами разных типов. IP (Internet Protocol) - протокол межсетевого взаимодействия, самый важный из ...
... 29-10 Упражнение 29 29-11 [КС xv] []Приложение А []Ссылки А-1 []Приложение В []Рисунки В-1 []Приложение С []Решения С-1 []Словарь []Сокращения []Индексы [КС xvi] [1]Технология создания сетей ЭВМ [1]Вопросы и ответы []Эта форма поможет вам получить ответ на любой вопрос, возникший в процессе изучения ...
... можете зарегистрировать на себя новый домен и в дальнейшем, при переезде из города в город сохранять за собой эти имена. Будет меняться только организации, которые осуществляют ваш выход в Интернет, регистрируя эти имена в глобальной сети. 6.2. IP адрес Второй параметр, который будет уникально определять ваш компьютер в мире – это IP адрес. IP адрес – это четыре числа, каждое из которых может ...
0 комментариев