Опубликован: 11.08.2008 | Уровень: специалист | Доступ: платный
Лекция 14:

Протоколы электронной почты: SMTP, POP, IMAP

Отклики

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

  • 2yz (положительное подтверждение завершения). Первая цифра 2 (цифра 1 сейчас не используется) показывает, что требуемая команда успешно завершена и можно передавать следующую команду.
  • 3yz (положительное промежуточное подтверждение). Если первая цифра 3, это означает, что требуемая команда принята, но получатель нуждается в большей информации для завершения обработки.
  • 4yz (отрицательное переходное подтверждение). Если первая цифра 4, это означает, что требуемая команда должна быть отклонена, но состояние ошибки временное. Команда может быть передана опять.
  • 5yz (отрицательное постоянное подтверждение завершения). Если первая цифра 5, это означает, что требуемая команда должна быть отклонена. Команда не может быть передана повторно.

Вторые и третьи цифры сообщают дополнительные детали об отклике. Табл. 14.2 содержит список некоторых откликов.

Таблица 14.2. Отклики
Код Описание
Положительное подтверждение завершения
211 Системное состояние или отклик на справку
214 Справочное сообщение
220 Готовность к обслуживанию
221 Завершение обслуживания передающего канала
250 Требуемая команда завершена
251 Пользователь не местный: сообщение должно быть передано далее
Положительное промежуточное подтверждение
354 Начало ввода почты
Отрицательное переходное подтверждение
421 Обслуживание не доступно
450 Почтовый ящик недоступен
451 Команда прервана: местная ошибка
452 Команда прервана: недостаточно памяти
Отрицательное постоянное подтверждение завершения
500 Синтаксическая ошибка: неопознанная команда
501 Синтаксическая ошибка в параметрах или аргументах
502 Команда не выполнена
503 Неправильная последовательность команд
504 Команда временно не выполнена
550 Команда не выполнена: почтовый ящик недоступен
551 Пользователь не местный
552 Требуемое действие прервано: переполнение местной памяти
553 Требуемое действие не принято к исполнению: недопустимое имя почтового ящика
554 Неудавшийся переход

Фазы передачи почты

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

Установление соединения

После того как клиент установит соединение TCP к заранее известному порту 25, сервер SMTP начинает фазу соединения. Эта фаза включает следующие три ступени, которые иллюстрируются на рисунке 14.6.:

Установление соединения

Рис. 14.6. Установление соединения
  1. Сервер посылает код 220 (Готов к обслуживанию), чтобы сказать клиенту, что он готов принять почту. Если сервер не готов, то он посылает код 421 (Обслуживание не готово).
  2. Клиент посылает сообщение HELLO, чтобы идентифицировать себя, используя доменное имя адреса. Этот шаг необходим, чтобы информировать сервер доменного имени клиента. Напомним, что во время установления TCP отправитель и получатель знает друг друга только по IP-адресам.
  3. Сервер отвечает кодом 250 – "Требуемая команда завершена" или другим кодом в зависимости от ситуации.

Передача сообщения

После того как соединение будет установлено между SMTP-клиентами и сервером, можно обменяться одиночным сообщением между отправителем и одним или более получателями. Эта фаза включает восемь шагов. Шаги 3 и 4 повторяются, если есть более чем один получатель ( рисунке 14.7.).

Передача сообщения

увеличить изображение
Рис. 14.7. Передача сообщения
  1. Клиент посылает сообщение MAIL FROM, чтобы представить отправителю почтовый адрес отправителя (имя почтового ящика и доменное имя). Этот шаг необходим, чтобы дать серверу адрес для возврата ошибок или для доклада о продвижении сообщений.
  2. Сервер отвечает кодом 250 или другим соответствующим кодом.
  3. Клиент посылает сообщение RCPT TO (получатель), который включает почтовый адрес получателя.
  4. Сервер отвечает кодом 250 или другим соответствующим сообщением.
  5. Клиент посылает сообщение DATA, чтобы инициализировать передачу сообщений.
  6. Сервер отвечает кодом 354 (Начало ввода почты) или другим подходящим сообщением.
  7. Клиент посылает содержание сообщения в виде последовательности строк. Каждая строка завершается двумя символами конец строки (возврат каретки и продвижение на другую линию). Конец сообщения содержит только метку окончания строки.
  8. Сервер отвечает кодом 250 или соответствующим кодом.
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Зарина Каримова
Зарина Каримова
Казахстан, Алматы, Гимназия им. Ахмета Байтурсынова №139, 2008
Akiyev Begench
Akiyev Begench
Беларусь, Полоцк, полоцкий государственный университет