Протоколы обслуживания электронной почты
Наиболее распространены — SMTP, POP3, IMAP.
Протокол SMTP (Simple Mail Transfer Protocol)
Был разработан для обмена почтовыми сообщениями в сети Internet. SMTP не зависит от транспортной среды и может использоваться для доставки почты в сетях с протоколами, отличными от TCP/IP и Х.25. Взаимодействие в рамках SMTP строится по принципу двусторонней связи, которая устанавливается между отправителем и получателем почтового сообщения (рис. 1). При этом отправитель инициирует соединение и посылает запросы на
обслуживание, выступая в роли клиента, а получатель отвечает на эти запросы (выполняя функции сервера).
ОТПРАВИТЕЛЬ ПОЛУЧАТЕЛЬ
|
|
Рис. 1. Схема взаимодействия по протоколу SMTP
Канал связи устанавливается непосредственно между отправителем и получателем сообщения. При таком взаимодействии почта достигает абонента в течение нескольких секунд после отправки.
Обмен сообщениями и инструкциями в SMTP ведется в ASCII-кодах.
Для инициализации канала и его закрытия используются команды helo и quit соответственно. Первой командой сеанса должна быть helo.
В протоколе определено несколько видов взаимодействия между отправителем почтового сообщения и его получателем, которые называются дисциплинами.
Наиболее распространенной дисциплиной является отправление почтового сообщения, которое начинается по команде mail, идентифицирующей отправителя. Следующей командой определяется адрес получателя. После того как определены отправитель и получатель, можно отправлять сообщение командой data, которая вводится без параметров и идентифицирует начало ввода почтового сообщения. Согласно стандарту почтового сообщения RFC-822 отправитель передает заголовок и тело сообщения, которые разделены пустой строкой. Сам протокол SMTP не накладывает каких-либо ограничений на информацию.
Следующая дисциплина, определенная в протоколе SMTP, — перенаправление почтового сообщения (forwarding).
Верификация и расширение адресов составляют дисциплину верификации. В ней используются команды vrfy и ехрn. По команде vrfy сервер подтверждает наличие или отсутствие указанного пользователя.
В список дисциплин, разрешенных протоколом SMTP, входит кроме отправки почты еще и прямая рассылка сообщений. В этом случае сообщение будет отправляться не в почтовый ящик, а непосредственно на терминал пользователя, если пользователь в данный момент находится за своим терминалом. Прямая рассылка осуществляется по команде send, которая имеет такой же синтаксис, как и команда mail. Кроме send прямую рассылку осуществляют soml (Send or Mail) и saml (Send and Mail).
Протокол допускает рассылку почтовых сообщений в режиме оповещения. Для этого отправитель в адресе получателя может указать несколько пользователей или групповой адрес. Кроме вышеперечисленных дисциплин протокол позволяет отправителю и получателю меняться ролями друг с другом. Происходит это по команде turn.
Протокол обмена почтовой информацией РОРЗ (Post Office Protocol, версия 3)
Предназначен для пересылки почты из почтовых ящиков пользователей (на сервере) на их рабочие места при помощи программ-клиентов. Если по протоколу SMTP пользователи отправляют корреспонденцию через Internet, то по протоколу РОРЗ пользователи получают корреспонденцию из своих почтовых ящиков на почтовом сервере в локальные файлы, однако сообщения можно принимать, но нельзя отправлять. Формально взаимодействие по протоколу РОРЗ можно разделить на две фазы: фазу аутентификации и фазу обмена данными. В фазе аутентификации пользователь должен сообщить свой идентификатор и пароль (команды user и pass). Если аутентификация была произведена успешно, то система позволяет работать с домашним ящиком пользователя.
По команде list система сообщает число сообщений и их размер в байтах. По команде retr можно получить текст сообщения, по команде dele — пометить сообщение к удалению. Удаляются сообщения только в момент окончания сеанса, поэтому по команде rset эти пометки можно снять. Команда quit завершает сеанс работы с сервером.