Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Модель протокола, команды и коды ответов SMTP

Для передачи сообщений по TCP-соединению большинство почтовых агентов пользуются протоколом SMTP (Simple Mail Transfer Protocol – простой протокол электронной почты).

SMTP принят в качестве стандартного метода передачи электронной почты в сети Internet. В качестве транспортного протокола SMTP использует TCP, соединение устанавливается через порт с номером 25. Для обслуживания этого соединения используется специальная программа, которая именуется почтовым сервером. Для формирования сообщения и установления соединения используется почтовая программа (утилита) пользователя.

Главной целью протокола SMTP является надежная и эффективная доставка электронных почтовых сообщений. Для реализации протокола требуется только надежный канал связи. Средой для SMTP может служить отдельная локальная сеть, система сетей или же вся всемирная сеть Internet. Если между отправителем и получателем письма имеется непосредственная связь, адрес пользователя имеет вид имя_пользователя@адрес_ЭВМ. Когда получатель находится на ЭВМ, которая не поддерживает соединение по протоколу SMTP, и передача происходит через промежуточный сервер, то адрес получателя письма может иметь иной вид, например:

имя_пользователя%имя_сервера@адрес_ЭВМ.

Адреса ЭВМ в сети Internet представляют собой имя домена и преобразуются в IP-адреса согласно протоколу DNS.

Протокол SMTP базируется на следующей модели коммуникаций: в ответ на запрос пользователя почтовая программа-отправитель сообщения устанавливает двустороннюю связь с программой-приемником (почтовым сервером). Получателем может быть оконечный или промежуточный адресат. Если необходимо, почтовый сервер может установить соединение с другим сервером и передать сообщение дальше. SMTP-команды генерируются отправителем и посылаются получателю. На каждую команду должен быть получен отклик.

Перечень команд протокола SMTP, определенный спецификацией
RFC 821, приведен в таблице 4.1. Это внутренние команды протокола. Если пользователь использует для работы с электронной почтой некоторую утилиту, то эти команды ему недоступны. Они представляют интерес только при программировании взаимодействия программ на основе этого протокола.

В соответствии со спецификацией, помеченные крестиком команды обязаны присутствовать в любой реализации SMTP. Остальные команды SMTP могут быть реализованы дополнительно. Каждая SMTP-команда должна заканчиваться либо пробелом (если у нее есть аргумент), либо комбинацией CRLF (Carriage-Return, Line-Feed – возврат каретки, перевод строки; коды ASCII – 13 и 10 соответственно). В описании команд употребляется слово <данные>, а не <сообщение>. Этим подчеркивается, что, кроме текста, SMTP позволяет передавать и двоичную информацию, например, графические или звуковые файлы.

Команды состоят из ключевых слов, за которыми следует один или более параметров. Ключевое слово состоит из 4-х символов и отделено от аргумента одним или несколькими пробелами. Каждая командная строка заканчивается символами CRLF. Синтаксис команд протокола SMTP приведен в пункте 4.6 «Справочные данные».

В спецификации SMTP требуется, чтобы сервер отвечал на каждую команду SMTP-клиента. Сервер отвечает трехзначной комбинацией цифр, называемой кодом ответа. Вместе с кодом ответа, как правило, передается одна или несколько строк текстовой информации.

Примечание: Несколько строк текста, как правило, сопровождают только команды EXPN и HELP. В спецификации SMTP, однако, ответ на любую команду может состоять из нескольких строк текста.

Каждая цифра в коде ответа имеет определенный смысл. Первая цифра означает, было ли выполнение команды успешным (2), неуспешным (5) или еще не закончилось (3). Как указано в приложении Е документа RFC 821, простой SMTP-клиент может анализировать только первую цифру в ответе сервера и на основании ее продолжать свои действия. Вторая и третья цифры кода ответа разъясняют значение первой. В лабораторной работе допускается не анализировать коды ответов. Можно использовать готовые коды, определенные
RFC 821 и приведенные в пункте 4.6 «Справочные данные».

Через систему электронной почты передаются сообщения, которые должны иметь строго определенный формат. Любое почтовое сообщение можно разделить на три части: «конверт», заголовки и собственно текст. «Конверт» используется почтовым сервером, он содержит две команды – MAIL и RCPT. Заголовок используется почтовой программой пользователя. Он может содержать несколько специальных полей: From, To, Date, Subject и др. Каждое из этих полей содержит имя, за которым после двоеточия идет его значения. При желании, пользователь может ознакомиться с содержимым всех полей заголовка письма.


<== предыдущая страница | следующая страница ==>
Справочные данные. Основные свойства компонента ServerSocket | Кодировка сообщений

Дата добавления: 2015-07-26; просмотров: 169; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.002 сек.