Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР_7_Электронная_почта_ПОСЛЕДНИЙ_вариант.doc
Скачиваний:
2
Добавлен:
09.11.2019
Размер:
269.82 Кб
Скачать

4.5 Протокол pop3

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.

Альтернативним протоколом для збору повідомлень з поштового сервера є IMAP.

Стани сеансу

У протоколі POP3 передбачено три стани сеансу:

1. Авторизація

Клієнт проходить процедуру аутентифікації

2. Транзакція

Клієнт отримує інформацію про стан поштової скриньки, приймає і видаляє пошту

3. Оновлення

Сервер видаляє обрані листи і закриває з'єднання

Опис протоколу POP3

Конструкція протоколу РОРЗ забезпечує можливість користувачеві звернутися до свого поштового сервера та вилучити пошту, яка накопичилася для нього. Користувач може отримати доступ до РОР-серверу з будь-якої точки доступу до Інтернет. При цьому він повинен запустити спеціальний поштовий агент (UA), що працює по протоколу РОРЗ, та налаштувати його для роботи зі своїм поштовим сервером. Отже, на чолі моделі POP знаходиться окремий персональний комп'ютер, що працює виключно в якості клієнта поштової системи (сервера). Повідомлення доставляються клієнтові за протоколом POP, а надсилаються, як і раніше, за допомогою SMTP. Тобто на комп'ютері користувача існують два окремих агента-інтерфейсу до поштової системи - доставки (POP) і відправки (SMTP). Розробники протоколу РОРЗ називають таку ситуацію "роздільні агенти" (split UA). Концепція роздільних агентів коротко обговорюється в специфікації РОРЗ.

Команди POP3

APOP [имя] [digest]

Команда служить для передачі серверу ім'я користувача та пароль зашифрованим (digest)

Аргументи

[имя] - рядок, що вказує ім'я поштової скриньки.

[digest]- зашифрована тимчасова мітка паролем користувача за алгоритмом MD5. У разі підтримки цієї команди тимчасова мітка виходить при з'єднанні з сервером:

+OK POP3 server ready <1896.698370952@meshach.smallorg.org>

Обмеження

Її підтримка не є обов'язковою

Можливі відповіді

+OK maildrop has n message

-ERR password suplied for [имя] is incorrect

DELE [сообщение]

Сервер позначає вказане повідомлення для видалення

Аргументи

[сообщение] - номер повідомлення.

Обмеження

Доступна після успішної ідентифікації

Можливі відповіді

+OK message deleted

-ERR no such message

LIST [сообщение]

Якщо був переданий аргумент, то сервер видає інформацію про зазначеному повідомленню. Якщо аргумент не був переданий, то сервер видає інформацію про всі повідомлення, що знаходяться в поштовій скриньці. Повідомлення, позначені для видалення не перераховуються.

Аргументи

[сообщение]- номер повідомлення (необов'язковий аргумент)

Обмеження

Доступна після успішної ідентифікації

Можливі відповіді

+OK scan listing follows

-ERR no such message

NOOP

Сервер нічого не робить, завжди відповідає позитивно

Аргументи

Відсутні.

Обмеження

Відсутні.

Можливі відповіді

+OK

PASS [пароль]

Передає серверу пароль поштової скриньки

Аргументи

[пароль] - пароль для поштової скриньки.

Обмеження

Працює після вдалої передачі імені поштової скриньки.

Можливі відповіді

+OK maildrop locked and ready

-ERR invalid password

-ERR unable to lock maildrop

RETR [сообщение]

Сервер передає повідомлення з вказаним номером

Аргументи

[сообщение] - номер повідомлення

Обмеження

Доступна після успішної ідентифікації

Можливі відповіді

+OK message follows

-ERR no such message

RSET

Якщо якісь повідомлення були помічені для видалення, то з них знімається ця мітка.

Аргументи

Відсутні

Обмеження

Доступна після і до успішної ідентифікації

Можливі відповіді

+OK

STAT

Сервер повертає кількість повідомлень в поштовій скриньці плюс розмір поштової скриньки

Аргументи

Обмеження

Доступна після успішної ідентифікації

Можливі відповіді

+OK a b

TOP [сообщение] [количество строк]

Сервер повертає вказану кількість рядків після заголовку

Аргументи

[сообщение] - номер повідомлення

[количество строк] – скільки рядків треба вивести

Обмеження

Доступна після успішної ідентифікації

Можливі відповіді

+OK n octets

-ERR no such message

USER [имя]

Передає серверу ім’я користувача

Аргументи

[имя] - строка, указывающая имя почтового ящика.

Обмеження

Відсутні.

Можливі відповіді

+OK name is a valid mailbox

-ERR never heard of mailbox name

QUIT

Аргументи

Відсутні.

Обмеження

Відсутні.

Можливі відповіді

+OK

Номер TCP-порту протоколу РОРЗ - 110. Основна відмінність РОРЗ від інших Інтернет-протоколів верхнього рівня полягає в тому, що в ньому немає широкого спектра кодів помилок: у відповідь на будь-яку команду він посилає рядки, що починаються з "+ОК" або "-ERR", які сигналізують відповідно про успішне або невдале виконання команди.

Набір основних команд протоколу також досить простий:

USER name

Це перше, що посилає клієнт після того, як він зчитав рядок-вітання +ОК РОРЗ served ready. Аргумент вказує ім'я користувача на цьому поштовому сервері, для якого потрібно одержати доступ до поштової скриньки. Наприклад:

USER paaa

PASS password

Після того, як користувач вказав своє ім'я, він повинен вказати пароль до своєї поштової скриньки. Наприклад:

PASS doom

STAT

Якщо користувач існує і правильно ввів свій пароль, він може продивитися пошту. Команда STAT повідомляє поточний стан скриньки. Формат відповіді — "+ОК п т", де п — кількість повідомлень, т — кількість байт. Наприклад (у поштовій скриньці перебувають 11 листів загальним обсягом 1594 байти):

С: STAT

S:+OKll 1594

LISTn

Для оцінки розміру конкретного листа є команда LIST. Формат виводу такий самий, як у STAT. Наприклад (третій лист має розмір 512 байт):

С: LIST З

S:+OK3 512

RETR n.

Для одержання листа із сервера використовується команда RETR п, де п — номер листа. Наприклад (одержуємо четвертий лист):

С: RETR 4

S: +OK 124 octets

S:TyT

S:іде

S: текст

S: листа

S:.

DELE n.

Після того, як листи успішно отримані й збережені локально, їх можна видалити з поштового сервера. Для цього є команда DELE n. Наприклад (видаляємо перший лист):

С: DELE 1

S: +OK message 1 deleted

QUIT.

Для завершення сеансу використовується команда QUIT