POP3
| Название: |
Post Office Protocol 3 |
|---|---|
| Уровень (по модели OSI): |
Прикладной |
| Семейство: |
TCP/IP |
| Порт/ID: |
110/TCP |
| Назначение протокола: |
Получение электронной почты |
| Спецификация: | |
| Основные реализации (клиенты): |
MUA (MS Outlook, Mozilla Thunderbird, The Bat!, KMail, mutt) |
| Основные реализации (серверы): | |
| Расширяемость: |
Доп. команды (RFC 2449) |
POP3 (англ. Post Office Protocol Version 3 в протокол почтового отделения, версия 3) используется почтовым клиентом для получения сообщений электронной почты с сервера. Обычно используется в паре с протоколом SMTP.
Предыдущие версии протокола (POP, POP2) устарели.
Стандарт протокола POP3 определён в RFC 1939. Расширения и методы авторизации определены в RFC 2195, RFC 2449, RFC 1734, RFC 2222, RFC 3206, RFC 2595.
Существуют реализации POP3-серверов, поддерживающие TLS и SSL.
Содержание |
[править] Состояния сеанса
В протоколе POP3 предусмотрено 3 состояния сеанса:
- Авторизация
- Клиент проходит процедуру Аутентификации.
- Транзакция
- Клиент получает информацию о состоянии почтового ящика, принимает и удаляет почту.
- Обновление
- Сервер удаляет выбранные письма и закрывает соединение.
[править] Команды протокола
| Имя | Аргументы | Ограничения | Возможные ответы |
|---|---|---|---|
|
|
|
|
|
| USER |
|
|
|
| PASS |
|
|
|
| DELE |
|
|
|
| LIST |
|
|
|
| NOOP |
|
|
|
| RETR |
|
|
|
| RSET |
|
|
|
| STAT |
|
|
|
| TOP |
|
|
|
| QUIT |
|
|
|
[править] APOP
Команда служит для передачи серверу имени пользователя и зашифрованного пароля (digest).
[имя] в строка, указывающая имя почтового ящика.
[digest] в хеш-сумма временной метки, конкатенированной с паролем пользователя, вычисленная по алгоритму MD5. В случае поддержки этой команды временная метка получается при соединении с сервером.
[править] USER
Передаёт серверу имя пользователя.
[имя] в строка, указывающая имя почтового ящика.
[править] PASS
Передаёт серверу пароль почтового ящика.
[пароль] в пароль для почтового ящика.
[править] DELE
Сервер помечает указанное сообщение для удаления. Сообщения, помеченные на удаление, реально удаляются только после закрытия транзакции (закрытие транзакций происходит обычно после посыла команды QUIT, кроме этого, например, на серверах закрытие транзакций может происходить по истечении определённого времени, установленного сервером).
[сообщение] в номер сообщения.
[править] LIST
Если был передан аргумент, то сервер выдаёт информацию об указанном сообщении. Если аргумент не был передан, то сервер выдаёт информацию обо всех сообщениях, находящихся в почтовом ящике. Сообщения, помеченные для удаления, не перечисляются.
[сообщение] в номер сообщения (необязательный аргумент).
[править] NOOP
Сервер ничего не делает, всегда отвечает положительно.
[править] RETR сообщение
Сервер передаёт сообщение с указанным номером.
[сообщение] в номер сообщения.
[править] RSET
Этой командой производится откат транзакций внутри сессии. Например, если пользователь случайно пометил на удаление какие-либо сообщения, он может убрать эти пометки, отправив эту команду.
[править] STAT
Сервер возвращает количество сообщений в почтовом ящике плюс размер, занимаемый этими сообщениями на почтовом ящике
[править] TOP
Сервер возвращает заголовки указанного сообщения, пустую строку и указанное количество первых строк тела сообщения.
[сообщение] в номер сообщения.
[количество строк] в сколько строк нужно вывести.
[править] Пример сессии
Это пример сессии с поддержкой зашифрованных паролей (APOP, RFC 1939):
S: <Сервер ожидает входящих соединений на порту 110> C: <подключается к серверу> S: +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> C: APOP mrose c4c9334bac560ecc979e58001b3e22fb S: +OK mrose's maildrop has 2 messages (320 octets) C: STAT S: +OK 2 320 C: LIST S: +OK 2 messages (320 octets) S: 1 120 S: 2 200 S: . C: RETR 1 S: +OK 120 octets S: <сервер передает сообщение 1> S: . C: DELE 1 S: +OK message 1 deleted C: RETR 2 S: +OK 200 octets S: <сервер передает сообщение 2> S: . C: DELE 2 S: +OK message 2 deleted C: QUIT S: +OK dewey POP3 server signing off (maildrop empty) C: <закрывает соединение> S: <продолждает ждать входящие соединения>
Вариант начала сессии, при котором пароль передается открытым текстом:
C: USER mrose S +OK User accepted C: PASS mrosepass S +OK Pass accepted
[править] Ссылки
| Схемы URI | |
|---|---|
| Официальные | aaa: aaas: acap: cap: cid: crid: data: dav: dict: dns: fax: file: ftp: go: gopher: h323: http: https: im: imap: ldap: mailto: mid: news: nfs: nntp: pop: pres: rtsp: sip: sips: snmp: tel: telnet: urn: wais: xmpp: |
| Неофициальные | about: aim: bolo: btc: bzr: callto: chrome: cvs: daap: ed2k: ed2kftp: feed: fish: git: gizmoproject: iax2: irc: ircs: lastfm: ldaps: magnet: mms: msnim: psyc: rsync: secondlife: skype: ssh: svn: sftp: smb: sms: soldat: steam: unreal: ut2004: view-source: vzochat: webcal: xfire: ymsgr: |
| Основные протоколы TCP/IP по уровням модели OSI (Список портов TCP и UDP) | |
|---|---|
| Физический | |
| Канальный | |
| Сетевой | |
| Транспортный | |
| Сеансовый | |
| Представления | |
| Прикладной | |
| Другие прикладные | |
| Это заготовка статьи о компьютерных сетях. Вы можете помочь проекту, исправив и дополнив её. |

