Введение
Семейство протоколов интернет-почты
В вычислительной технике протокол почтового отделения (POP) — это стандартный протокол интернет-уровня приложений, используемый почтовыми клиентами для получения электронной почты с почтового сервера. В настоящее время наиболее распространенной версией является POP3 (POP версия 3). Наряду с IMAP, это один из наиболее часто используемых протоколов для получения электронной почты.
Цель
Протокол почтового отделения обеспечивает доступ через сеть Интернет-протокола (IP) для клиентского приложения пользователя к почтовому ящику (maildrop), обслуживаемому на почтовом сервере. Протокол поддерживает операции просмотра списка, извлечения и удаления сообщений. Клиенты POP3 подключаются, извлекают все сообщения, сохраняют их на клиентском компьютере и, наконец, удаляют с сервера. Такая конструкция протокола POP и его процедуры были обусловлены потребностью пользователей, имеющих только временное подключение к Интернету, например, dial-up, позволяя им получать электронную почту при подключении и впоследствии просматривать и обрабатывать полученные сообщения в автономном режиме. Клиенты POP3 также имеют возможность оставлять почту на сервере после извлечения, и в этом режиме работы они будут загружать только новые сообщения, идентифицируемые с помощью команды UIDL (уникальный список идентификаторов). В отличие от этого, протокол доступа к сообщениям в Интернете (IMAP) был разработан для того, чтобы обычно оставлять все сообщения на сервере, обеспечивая управление с помощью нескольких клиентских приложений и поддержку как подключенных (онлайн), так и отключенных (оффлайн) режимов работы. POP3-сервер прослушивает на известном порту 110 запросы на обслуживание. Зашифрованная связь для POP3 запрашивается после инициализации протокола с помощью команды STLS, если она поддерживается, или с помощью POP3S, который подключается к серверу, используя протокол Transport Layer Security (TLS) или Secure Sockets Layer (SSL) на известном TCP-порту 995. Сообщения, доступные клиенту, определяются при открытии почтового ящика сеансом POP3 и идентифицируются по номеру сообщения, локальному для этого сеанса, или, опционально, по уникальному идентификатору, присвоенному сообщению сервером POP. Этот уникальный идентификатор является постоянным и уникальным для почтового ящика и позволяет клиенту получать доступ к одному и тому же сообщению в разных сеансах POP. Почта извлекается и помечается для удаления по номеру сообщения. Когда клиент завершает сеанс, почта, помеченная для удаления, удаляется из почтового ящика.
История
Первая версия протокола POP, POP1, была описана в RFC 918 (1984) Джойс К. Рейнольдс. POP2 был определен в RFC 937 (1985). POP3 – наиболее распространенная версия протокола. Он берет начало в RFC 1081 (1988), но наиболее актуальная спецификация – RFC 1939, обновленная механизмом расширения (RFC 2449) и механизмом аутентификации (RFC 1734). Это привело к созданию множества реализаций POP, таких как Pine, POPmail и другие ранние почтовые клиенты. В то время как первоначальная спецификация POP3 поддерживала только незашифрованный механизм входа USER/PASS или контроль доступа Berkeley rhosts, сегодня POP3 поддерживает несколько методов аутентификации для обеспечения различной степени защиты от несанкционированного доступа к электронной почте пользователя. Большинство из них предоставляются механизмами расширения POP3. Клиенты POP3 поддерживают методы аутентификации SASL через расширение AUTH. MIT Project Athena также разработала версию с Kerberos. RFC 1460 представил APOP в основной протокол. APOP – это протокол запрос-ответ, использующий хеш-функцию MD5 в попытке предотвратить атаки повторного воспроизведения и раскрытие общего секрета. Клиенты, поддерживающие APOP, включают Mozilla Thunderbird, Opera Mail, Eudora, KMail, Novell Evolution, Becky! от RimArts, Windows Live Mail, PowerMail, Apple Mail и Mutt. RFC 1460 был заменен RFC 1725, который, в свою очередь, был заменен RFC 1939.
POP4
POP4 существует лишь как неофициальное предложение, добавляющее базовое управление папками, поддержку многокомпонентных сообщений и управление флагами сообщений в качестве альтернативы IMAP, однако его разработка не продвигалась с 2003 года. На данный момент известно две реализации сервера POP4. По состоянию на октябрь 2013 года домен и веб-сайт POP4.org размещены на simbey.com, который также поддерживает другую реализацию сервера POP4.
Расширения и спецификации
В RFC 2449 был предложен механизм расширения для поддержки общих расширений, а также для систематического объявления поддержки необязательных команд, таких как TOP и UIDL. RFC не ставил целью стимулировать разработку расширений и подтвердил, что основная задача POP3 – обеспечение простой поддержки операций загрузки и удаления почты. Эти расширения называются возможностями (capabilities) и перечисляются командой CAPA. За исключением APOP, необязательные команды были включены в исходный набор возможностей. По аналогии с ESMTP (RFC 5321), возможности, начинающиеся с буквы X, обозначают локальные возможности.
СТАРТЛС
Расширение STARTTLS позволяет согласовать использование протокола Transport Layer Security (TLS) или Secure Sockets Layer (SSL) с помощью команды STLS на стандартном порту POP3 вместо использования альтернативного порта. Некоторые клиенты и серверы вместо этого используют метод альтернативного порта, применяя TCP-порт 995 (POP3S).
СДПС
Demon Internet представил расширения для POP3, позволяющие использовать несколько учетных записей в рамках одного домена, и стал известен как Standard Dial up POP3 Service (SDPS). Для доступа к каждой учетной записи имя пользователя включает в себя имя хоста, например, john@hostname или john+hostname. Google Apps использует тот же метод.
Протокол почтового отделения
В вычислительной технике локальные почтовые клиенты могут использовать протокол Kerberized Post Office Protocol (KPOP) — стандартный протокол интернета прикладного уровня — для получения электронной почты с удаленного сервера по соединению TCP/IP. Протокол KPOP основан на протоколе POP3, но отличается добавлением безопасности Kerberos и использованием TCP-порта 1109 по умолчанию вместо порта 110. Одной из программных реализаций почтового сервера, поддерживающих этот протокол, является сервер Cyrus IMAP.