Протоколы электронной почты

Наиболее распространены — SMTP, РОРЗ, IMAP.

Протокол SMTP (Simple Mail Transfer Protocol) был разрабо­тан для обмена почтовыми сообщениями в сети Internet. SMTP не зависит от транспортной среды и может использоваться для доставки почты в сетях с протоколами, отличными от TCP/IP и Х.25. Взаимодействие в рамках SMTP строится по принципу двусторонней связи, которая устанавливается между отправите-

ОТПРАВИТЕЛЬ ПОЛУЧАТЕЛЬ Рис. 6.9. Схема взаимодействия по протоколу SMTP

 

лем и получателем почтового сообщения (рис. 6.9). При этом от­правитель инициирует соединение и посылает запросы на обслу­живание, выступая в роли клиента, а получатель отвечает на эти запросы (выполняя функции сервера).

Канал связи устанавливается непосредственно между отправи­телем и получателем сообщения. При таком взаимодействии почта достигает абонента в течение нескольких секунд после отправки.

Обмен сообщениями и инструкциями в SMTP ведется в ASCII-кодах.

Для инициализации канала и его закрытия используются ко­манды helo и quit соответственно. Первой командой сеанса должна быть helo.

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

Наиболее распространенной дисциплиной является отправ­ление почтового сообщения, которое начинается по команде mail, идентифицирующей отправителя:

MAIL FROM:paul@quest.polyn.kiae.su

Следующей командой определяется адрес получателя:

RCPT ТО:popovl@apollo.polyn.kiae.su

После того как определены отправитель и получатель, можно отправлять сообщение командой data, которая вводится без па­раметров и идентифицирует начало ввода почтового сообщения. Согласно стандарту почтового сообщения RFC-822, отправитель передает заголовок и тело сообщения, которые разделены пустой строкой. Сам протокол SMTP не накладывает каких-либо огра­ничений на информацию, которая заключена между командой data и «.» в первой позиции последней строки.

Следующая дисциплина, определенная в протоколе SMTP, — перенаправление почтового сообщения (forwarding).

Верификация и расширение адресов составляют дисциплину ве­рификации. В ней используются команды vrfy и ехрп. По ко­манде vrfy сервер подтверждает наличие или отсутствие указан­ного пользователя.

В список дисциплин, разрешенных протоколом SMTP, вхо­дит, кроме отправки почты, еще и прямая рассылка сообщений. В этом случае сообщение будет отправляться не в почтовый ящик, а непосредственно на терминал пользователя, если пользо­ватель в данный момент находится за своим терминалом. Прямая рассылка осуществляется по команде send, которая имеет такой же синтаксис, как и команда mail. Кроме send прямую рассылку осуществляют soml (Send or Mail) и saml (Send and Mail).

Протокол допускает рассылку почтовых сообщений в режи­ме оповещения. Для этого отправитель в адресе получателя мо­жет указать несколько пользователей или групповой адрес. Кро­ме вышеперечисленных дисциплин протокол позволяет отправи­телю и получателю меняться ролями друг с другом. Происходит это по команде turn.

Протокол обмена почтовой информацией РОРЗ (Post Office Protocol, версия 3) предназначен для пересылки почты из почто­вых ящиков пользователей (на сервере) на их рабочие места с помощью программ-клиентов. Если по протоколу SMTP пользо­ватели отправляют корреспонденцию через Internet, то по прото­колу РОРЗ пользователи получают корреспонденцию из своих почтовых ящиков на почтовом сервере в локальные файлы, од­нако сообщения можно принимать, но нельзя отправлять. Фор­мально взаимодействие по протоколу РОРЗ можно разделить на две фазы: аутентификации и обмена данными. В фазе аутенти­фикации пользователь должен сообщить свой идентификатор и пароль (команды user и pass). Если аутентификация была про­изведена успешно, то система позволяет работать с домашним ящиком пользователя.

По команде list система сообщает число сообщений и их размер в байтах. По команде ret г можно получить текст сооб­щения, по команде dele — пометить сообщение к удалению. Удаляются сообщения только в момент окончания сеанса, по­этому по команде г set эти пометки можно снять. Команда quit завершает сеанс работы с сервером.

Протокол IMAP (Interactive Mail Access Protocol) представляет собой более надежную альтернативу протоколу РОРЗ и к тому же обладает более широкими возможностями по управлению процессом обмена с сервером. Работа протокола осуществляется по 143 порту TCP. Главное отличие от POP состоит в возможно­сти поиска нужного сообщения и осуществлении разбора заго­ловков сообщения. Для поиска информации используется ко­манда find с различными аргументами.