POP3 (англ. Post Office Protocol Version 3 — протокол почтового отделения, версия 3) — стандартный интернет-протокол прикладного уровня, используемый клиентами электронной почты для получения почты с удалённого сервера по TCP-соединению.
POP (Post Office Protocol) — протокол почтового отделения. Это достаточно старый протокол, первая версия появилась в 1984 году, в следующем году вышла вторая версия протокола, и вскоре после этого, появилась третья версия в 1988 году. В 1996 году протокол POP3 был расширен новыми механизмами аутентификации, а также так называемыми расширениями, которые позволяли добавлять в протокол новые команды.
POP и IMAP (Internet Message Access Protocol) — наиболее распространённые интернет-протоколы для извлечения почты. Практически все современные клиенты и серверы электронной почты поддерживают оба стандарта. Протокол POP был разработан в нескольких версиях, нынешним стандартом является третья версия (POP3). Большинство поставщиков услуг электронной почты (такие как Hotmail, Gmail и Yahoo! Mail) также поддерживает IMAP и POP3. Предыдущие версии протокола (POP, POP2) устарели.
Альтернативным протоколом для сбора сообщений с почтового сервера является IMAP.
Подход «загрузить и удалить»
Протокол РОР3 работает по модели “загрузить и удалить”. Согласно этой модели почтовый ящик на сервере является лишь временным хранилищем информации. Постоянно письма хранятся только на компьютерах клиента. Поэтому все письма, должны быть переписаны на клиент и работа с ними происходит только на клиенте. После загрузки письма, его необходимо удалить с сервера, так как протокол РОР3 не позволяет узнать загружали это письмо раньше или нет.
Преимущества POP3
Преимущество РОР3 заключается в том, что это очень простой протокол, а также то, что Ваши письма доступны вам даже, если у вас нет подключения к интернету.
Недостатки протокола
Существенным недостатком РОР3 является возможность работы только одного почтового клиента, который удаляет все письма, после того, как загрузил себе, хотя некоторые современные реализации серверов РОР3 позволяют сохранять сообщения, даже после того, как они были прочитаны, но в этом случае мы не можем определить на сервер пришло новое письмо или мы его уже читали.
Другим недостатком является то, что РОР3 считает почтовый ящик единым хранилищем писем. Нет возможности создавать папки, настраивать фильтры, чтобы сообщения автоматический попадали в эти папки, как то помечать письма и выполнять другие подобные действия. В протоколе РОР3 все это можно делать только средствами почтового клиента.
Расширения
Механизм расширений был предложен в RFC 2449 для размещения новых расширений, а также организованного объявления о поддержке опциональных команд, таких как TOP и UIDL. RFC не намеревались поощрять расширения и подтвердили, что роль POP3 заключается в предоставлении простой поддержки в основном для требования «загрузи-и-удали».
Расширения выводятся списком командой CAPA. За исключением APOP, все опциональные команды были включены в изначальный набор возможностей. Как и в стандарте ESMTP (RFC 5321), возможности, начинающиеся с “X”, являются локальными.
STARTTLS
Расширение STARTTLS позволяет использовать TLS (Transport Layer Security) или SSL (Secure Sockets Layer) для связи с помощью команды STLS, по стандартному POP3-порту. Некоторые клиенты и сервера используют метод альтернативного порта, работающий с TCP-портом 995 (POP3S).
SDPS
Британский провайдер Demon Internet ввёл расширение POP3, позволяющее иметь несколько учётных записей для каждого домена и ставшее известным как SDPS (Standard Dial-up POP3 Service). Для доступа к каждой учётной записи имя пользователя включает в себя имя хоста, например, john@hostname или john+hostname.
Google Apps используют тот же метод.
Место в стеке TCP/IP
В стеке протоколов TCP/IP протокол РОР3 находится на Прикладном уровне.
РОР3 использует протокол TCP и 110 порт. При работе по протоколу РОР3 клиент проходит через три состояния:
- Первое состояние это Авторизация, клиент должен указать имя пользователя и подтвердить, что он тот, за кого себя выдает. Чаще всего для этого используется пароль.
- Если авторизация прошла успешно, клиент переходит на стадию Транзакции. На этой стадии клиент загружает письма сервера и помечает письма, которые он загрузил на удаление. Однако реально сообщения не удаляются.
- Удаления сообщений происходит на стадии обновления. Клиент говорит серверу, что он выполнил все полезные действия и готов отключится, только после этого сервер удаляет помеченные сообщения и закрывает соединение. Это сделано для того чтобы не потерять письма в результате сбоя в работе почтового клиента. Клиент переходит на стадию обновления, только после того как убедиться, что все сообщения загружены и их можно безопасно удалять с сервера. Если в процессе загрузки произошла ошибка в работе клиента, то сервер не будет удалять помеченное сообщение и их можно будет загрузить в следующий раз.
Протокол РОР3 также как и многие другие протоколы прикладного уровня, например SMTP или HTTP, работают в текстовом режиме, также как в SMTP взаимодействие происходит в режиме запрос-ответ, при этом клиент и сервер пересылают друг другу обычные текстовые строки. Каких- либо специальных форматов пакетов не используется.