
6.2. Обзор почтовых протоколов
Современные протоколы для обмена сообщениями предоставляют большие возможности для обработки писем, разнообразные сервисы и удобства в работе. Для почтовой пересылки применяется кодировка ASCII.
Среди распространённых на настоящий момент протоколов электронной почты это – SMTP, POP3, IMAP.
SMTP – почтовый протокол, работающий по технологии «клиент-сервер». SMTP-сервер принимает письма от других систем и сохраняет их в почтовых ящиках пользователей. Сохраненные письма могут быть прочитаны несколькими способами. Пользователи с интерактивным доступом на почтовом сервере могут читать почту с помощью локальных почтовых приложений. Пользователи на других системах могут загрузить свои письма с помощью программ-почтовых клиентов по протоколам POP3 и IMAP (рис. 6.1).
Установив ТСР-соединение с портом 25, передающая машина, выступающая в роли клиента, ждет запроса принимающей машины, работающей в режиме сервера. Сервер начинает диалог с того что посылает текстовую строку, содержащую его идентификатор и сообщающую о его готовности (или неготовности) к приему почты. Если сервер не готов, клиент разрывает соединение и продолжает попытку позднее.
Протокол поддерживает создание очередей сообщений, переписывание заголовков писем, алиасы, списки рассылки и т.д.
Рис. 6.1. Место протоколов SMTР, POP, IMAP в службе электронной почты
Обычно доступ к серверу SMTP не защищается паролем, так что можно использовать для отправки писем любой известный сервер в сети. Последний конфигурируется так, что должен работать как привилегированный процесс. Это означает, что если его защиту можно будет обойти каким-нибудь способом, атакующий сможет нанести вред, далеко превышающий удаление электронных писем.
У SMTP протокола есть несколько проблем. Первая - длина сообщения не может превосходить 64К байт. Другая - time out. Если задержка у отправителя и получателя не согласованы, то один будет разрывать соединение, не дождавшись, тогда как другой просто очень загружен.
В отличие от серверов для отправки писем, доступ к серверам для хранения сообщений защищается паролем. Поэтому необходимо использовать сервер или службу, в которой существует учётная запись. Эти серверы работают по протоколам POP и IMAP, которые различаются способом хранения писем.
POP (Post Office Protocol) - это самый популярный протокол приема электронной почты. Модель протокола POP3 представлена на рис. 6.2.
Рис.6.2. Модель протокола POP
В протоколе РОРЗ оговорены три стадии процесса получения почты: авторизация, транзакция, обновление (завершение транзакции).
После того как сервер и клиент РОРЗ установили соединение, начинается стадия авторизации. На стадии авторизации клиент идентифицирует себя для сервера. Если авторизация прошла успешно, сервер открывает почтовый ящик клиента и начинается стадия транзакции. В ней клиент либо запрашивает у сервера информацию (например, список почтовых сообщений), либо просит его совершить определенное действие (например, выдать почтовое сообщение). Наконец, на стадии обновления сеанс связи заканчивается.
Ответ сервера может быть положительным (+OK) либо отрицательным (-ERR). Команды авторизации пользователя: USER - имя пользователя, оно является и идентификатором почтового ящика, PASS - пароль пользователя, APOP - авторизация цифровой подписью (используется редко).
POP версии 2 поддерживает аутентификацию пользователя с помощью пароля, но пароль передается серверу в открытом (незашифрованном) виде. POP версии 3 (РОР3) предоставляет дополнительный метод аутентификации (APOP), который прячет пароль. Некоторые реализации POP могут использовать Kerberos для аутентификации.
В соответствии с протоколом POP3 поступающие на определенный адрес сообщения хранятся на сервере до того момента, пока они не будут в течение очередного сеанса загружены на компьютер. После загрузки сообщений, можно отключиться от сети и приступить к чтению почты. Таким образом, использование почты по протоколу POP3 является наиболее быстрым и удобным.
IMAP - это самый новый, и поэтому менее популярный протокол чтения электронной почты. (Internet Message Access Protocol – протокол доступа сообщений Internet).
IMAP поддерживает операции создания, удаления, переименования почтовых ящиков; проверки поступления новых писем; оперативное удаление писем; установку и сброс флагов операций; поиск среди писем; выборочное чтение писем.
Протокол IMAP базируется на транспортном протоколе TCP и использует порт 143. Протокол IMAP представляет собой альтернативу POP-3. Также как и последний он работает только с сообщениями и не требует каких-либо пакетов со специальными заголовками. Протокол позволяет получать доступ к письму не только по его номеру, а и по содержанию. В отличие от POP3 IMAP хранит почтовые сообщения у себя “вечно” (пока клиент сам не пожелает их стереть).