статьиGNU Free Documentation License материалы взяты из Википедии Статья была изменена. Оригинал статьи.

POP3

Материал из Энциклопедии в свободной энциклопедии
(перенаправлено с «POP»)
Перейти к: навигация, поиск
POP3
Название:

Post Office Protocol 3

Уровень (по модели OSI):

Прикладной

Семейство:

TCP/IP

Порт/ID:

110/TCP

Назначение протокола:

Получение электронной почты

Спецификация:

RFC 1939 / STD 53

Основные реализации (клиенты):

MUA (MS Outlook, Mozilla Thunderbird, The Bat!, KMail, mutt)

Основные реализации (серверы):

Qpopper, MS Exchange Server, CommuniGate Pro, Mail Daemon

Расширяемость:

Доп. команды (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 состояния сеанса:

Авторизация 
Клиент проходит процедуру Аутентификации.
Транзакция 
Клиент получает информацию о состоянии почтового ящика, принимает и удаляет почту.
Обновление 
Сервер удаляет выбранные письма и закрывает соединение.

[править] Команды протокола

Имя Аргументы Ограничения Возможные ответы
APOP
[имя] [digest]
Её поддержка не является обязательной
* +OK maildrop has n message
* -ERR password suplied for [имя] is incorrect
USER
[имя]
в
* +OK name is a valid mailbox
* -ERR never heard of mailbox name
PASS
[пароль]
Работает после успешной передачи имени почтового ящика
* +OK maildrop locked and ready
* -ERR invalid password
* -ERR unable to lock maildrop
DELE
[сообщение]
Доступна после успешной идентификации
* +OK message deleted
* -ERR no such message
LIST
[сообщение]
Доступна после успешной идентификации
* +OK scan listing follows
* -ERR no such message
NOOP
в
Доступна после успешной идентификации
+OK
RETR
[сообщение]
Доступна после успешной идентификации
* +OK message follows
* -ERR no such message
RSET
в
Доступна после успешной идентификации
+OK
STAT
в
Доступна после успешной идентификации
+OK a b
TOP
[сообщение]
[количество строк]
Доступна после успешной идентификации
* +OK n octets
* -ERR no such message
QUIT
в
в
+OK

[править] 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

[править] Ссылки

Источник в «/w/index.php?title=POP3&oldid=44710784»
Пространства имён

Варианты
Действия