Що таке POP3? Відмінність IMAP від ​​POP3 протоколу

У цій статті розглянуто найчастіше використовувані протоколи електронної пошти в Інтернеті - POP3, IMAP та SMTP. Кожен з них має певну функцію та спосіб роботи. У змісті статті пояснюється, яка конфігурація найкраще підходить для конкретних потреб користувача під час використання e-mail-клієнта. Також розкривається відповідь на запитання про те, який протокол підтримує електронну пошту e-mail.

Що таке POP3?

Протокол третьої версії (POP3) – це стандартний поштовий протокол, який використовується для отримання електронної пошти з віддаленого сервера на локальний поштовий клієнт. Дозволяє завантажувати повідомлення на ваш локальний комп'ютер і читати їх, навіть якщо користувач перебуває в автономному режимі. Зверніть увагу, що при використанні протоколу POP3 для підключення до вашого облікового запису повідомлення завантажуються локально та видаляються з сервера електронної пошти.

За промовчанням POP3 працює на двох портах:

    порт 110 - це незашифрований порт POP3;

    порт 995 – його потрібно використовувати, якщо ви хочете безпечно підключитися до POP3.

Що таке IMAP?

Протокол доступу до Інтернет-повідомлень (IMAP) — це протокол отримання електронних листів, який використовується для доступу до неї на віддаленому веб-сервері від локального клієнта. IMAP і POP3 є двома протоколами, що найчастіше використовуються, для отримання листів і підтримуються всіма сучасними поштовими клієнтами та веб-серверами.

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

Протокол IMAP працює на двох портах:

    порт 143 - це незашифрований порт IMAP за промовчанням;

    порт 993 - його потрібно використовувати, якщо ви бажаєте безпечно підключитися за допомогою IMAP.

Що таке SMTP?

Протокол – це стандартний протокол для надсилання електронної пошти через Інтернет.

SMTP працює у трьох портах:

    порт 25 - це незашифрований за замовчуванням;

    порт 2525 - він відкривається на всіх серверах SiteGround, якщо порт 25 фільтрується (наприклад, вашим інтернет-провайдером), і ви хочете надсилати незашифровані електронні листи за допомогою SMTP;

    порт 465 — він використовується, якщо ви бажаєте надсилати повідомлення за допомогою SMTP.

За якими протоколами відбувається обмін електронною поштою? Поняття та терміни

Термін «сервер електронної пошти» стосується двох серверів, необхідних для надсилання та отримання листів, тобто до SMTP та POP.

Сервер вхідної пошти — це сервер, пов'язаний з обліковим записом адреси електронної пошти. Для неї не може бути більше одного вхідного поштового сервера. Для доступу до вхідних повідомлень поштовий клієнт — програма, яка може отримувати електронну пошту з облікового запису, дозволяючи користувачеві читати, пересилати, видаляти та відповідати на повідомлення. Залежно від сервера, ви можете використовувати виділений поштовий клієнт (наприклад, Outlook Express) або веб-браузер. Так, Internet Explorer застосовують для доступу до облікових записів на основі електронної пошти. Листи зберігаються на сервері вхідної пошти до завантаження. Після того, як ви завантажили свою пошту з поштового сервера, зробити повторно це буде неможливо. Щоб успішно завантажити дані, необхідно ввести правильні установки в електронній поштовій програмі. Більшість вхідних поштових серверів використовують один із таких протоколів: IMAP, POP3, HTTP.

Вихідний поштовий сервер (SMTP)

Це сервер, який використовується лише для надсилання листів (для перенесення їх з вашої поштової клієнтської програми до приймача). Більшість вихідних поштових серверів використовують Protocol для надсилання кореспонденції. Залежно від ваших мережних параметрів, сервер вихідної пошти може належати вашому інтернет-провайдеру або серверу, на якому ви налаштовуєте свій обліковий запис. В якості альтернативи ви можете використовувати SMTP-сервер на основі підписки, який дозволить вам надсилати електронні листи з будь-якого облікового запису. Через проблеми зі спамом більшість вихідних поштових серверів не дозволяють надсилати електронні листи, якщо ви не увійшли до своєї мережі. Сервер з відкритим ретранслятором дозволить вам використовувати його для надсилання електронних листів, незалежно від того, належите ви до його мережної групи чи ні.

Порти електронної пошти

Для мереж порт означає кінцеву точку логічного з'єднання. Номер порту визначає його тип. Нижче наведено стандартні порти електронної пошти:

    POP3 – порт 110;

    IMAP – порт 143;

    SMTP – порт 25;

    HTTP – порт 80;

    безпечний SMTP (SSMTP) – порт 465;

    безпечний IMAP (IMAP4-SSL) – порт 585;

    IMAP4 через SSL (IMAPS) – порт 993;

    Secure POP3 (SSL-POP) – порт 995.

Протоколи електронної пошти: IMAP, POP3, SMTP та HTTP

В основному протокол відноситься до стандартного методу, який використовується на кожному кінці каналу зв'язку. Щоб мати справу з електронною поштою, потрібно використовувати спеціальний клієнт для доступу до поштового сервера. У свою чергу, вони можуть обмінюватися інформацією один з одним, використовуючи при цьому різні протоколи.

Протокол IMAP

IMAP (протокол доступу до інтернет-повідомлень) – стандартний протокол для доступу до електронної пошти з вашого локального сервера. IMAP - це протокол типу «клієнт/сервер», в якому отримана електронна пошта, і дані зберігаються вашим інтернет-сервером. Оскільки для цього потрібно лише невелика передача даних, він добре працює навіть при повільному з'єднанні, наприклад, при підключенні за допомогою модему. При спробі прочитати конкретне повідомлення електронної пошти клієнт завантажує дані із сервера. Ви також можете створювати та керувати папками або поштовими скриньками на сервері, видаляти повідомлення.

Протокол POP3

Протокол передачі електронної пошти POP (Post Office Protocol 3) забезпечує простий, стандартизований спосіб доступу користувачів до поштових скриньок та завантаження повідомлень на комп'ютери.

При використанні POP всі повідомлення електронної пошти будуть завантажені з поштового сервера на локальний комп'ютер. Ви також можете залишити копії своїх електронних листів на сервері. Перевага полягає в тому, що після завантаження ваших повідомлень ви можете відключити інтернет-з'єднання та прочитати свій e-mail на дозвіллі, не вдаючись до додаткових витрат на зв'язок. З іншого боку, за допомогою цього протоколу ви отримуєте та завантажуєте багато небажаних повідомлень (включаючи спам чи віруси).

Протокол SMTP

Протокол використовується агентом передачі пошти (MTA) для доставки електронних повідомлень на певний сервер отримувача. SMTP можна використовувати лише для надсилання електронних листів, а не для їх отримання. Залежно від налаштувань вашої мережі або інтернет-провайдера ви можете використовувати протокол SMTP лише за певних умов.

Протоколи HTTP

HTTP не є протоколом, призначеним для зв'язку електронною поштою, але його можна використовувати для доступу до вашої поштової скриньки. Його також часто називають веб-електронною поштою. Він може використовуватися для складання або отримання електронних листів з вашого облікового запису. Hotmail - хороший приклад використання HTTP як протокол електронної пошти.

Керовані передачі файлів та мережеві рішення

Ваша здатність надсилати та отримувати електронну пошту в основному обумовлена ​​трьома протоколами TCP. Ними є SMTP, IMAP та POP3.

SMTP

Почнемо з SMTP, тому що його основна функція відрізняється від двох інших. Протокол SMTP, або Simple Mail Transfer Protocol, переважно використовується для надсилання електронної пошти від поштового клієнта (наприклад, Microsoft Outlook, Thunderbird або Apple Mail) на сервер електронної пошти. Він також використовується для ретрансляції або надсилання поштових повідомлень з одного поштового сервера на інший. Це необхідно, якщо відправник та одержувач мають різні постачальники послуг електронної пошти.

SMTP, який вказаний у RFC 5321, використовує порт 25 за промовчанням. Він також може використовувати порт 587 та порт 465. Останній, який був представлений як порт вибору для безпечного SMTP (a.k.a. SMTPS), вважається застарілим. Але насправді він, як і раніше, використовується кількома постачальниками поштових послуг.

POP3

Протокол поштового відділення, або POP, використовується для вилучення електронних листів з Остання версія, яка широко використовується, - це версія 3, звідси і термін «POP3».

POP, версія 3, зазначена в RFC 1939, підтримує розширення та кілька механізмів автентифікації. Функції автентифікації необхідні, щоб зловмисники не отримували доступу до повідомлень користувачів.

Клієнт POP3 отримує електронну пошту так:

    підключається до поштового сервера порту 110 (або 995 для з'єднань SSL/TLS);

    видаляє копії повідомлень, що зберігаються на сервері;

    відключається від сервера.

    Хоча клієнти POP можуть бути налаштовані так, щоб сервер міг продовжувати зберігати копії завантажених повідомлень, описані вище кроки є звичайною практикою.

    IMAP

    IMAP, особливо поточна версія (IMAP4), є складнішим протоколом. Це дозволяє користувачам групувати пов'язані повідомлення та розміщувати їх у папках, які, у свою чергу, можуть бути організовані ієрархічно. Він також оснащений прапорами повідомлень, які вказують, чи повідомлення було прочитано, видалено або отримано. Він навіть дозволяє користувачам шукати поштові скриньки сервера.

    Логіка роботи (налаштування imap4):

    • підключається до поштового сервера через порт 143 (або 993 для з'єднань SSL/TLS);

      отримує повідомлення електронної пошти;

      служить для підключення до закриття програми поштового клієнта та завантаження повідомлень на вимогу.

    Зауважте, що повідомлення не видаляються на сервері. Це може мати серйозні наслідки. Специфікації IMAP можна знайти у RFC 3501.

    Вибір між IMAP та POP3

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

    Якщо вам важливе місце для зберігання на сервері, то вибирайте POP3. Сервер з обмеженим об'ємом пам'яті є одним із основних факторів, які можуть змусити вас підтримати POP3. Оскільки IMAP залишає повідомлення на сервері, він може споживати простір пам'яті швидше, ніж POP3.

    Якщо ви хочете отримати доступ до пошти в будь-який час, краще зупинитися на IMAP. Є одна вагома причина, через яку IMAP був призначений для зберігання повідомлень на сервері. Він використовується для пошуку повідомлень з декількох пристроїв іноді навіть одночасно. Тому якщо у вас є iPhone, планшет Android, ноутбук і робочий стіл, і ви хочете читати електронну пошту з будь-якого або всіх цих пристроїв, то IMAP буде найкращим вибором.

    Синхронізація – ще одна перевага IMAP. Якщо ви отримуєте доступ до повідомлень електронної пошти з кількох пристроїв, швидше за все, захочете, щоб усі вони відображали будь-які дії, які ви виконували.

    Наприклад, якщо ви читаєте повідомлення A, B і C, то хочете, щоб вони також були позначені як "прочитані" на інших пристроях. Якщо ви видалили листи B і C, захочете, щоб ті самі повідомлення видалялися з вашої поштової скриньки на всіх гаджетах. Всі ці синхронізації можуть бути досягнуті лише у випадку, якщо ви використовуєте IMAP.

    Оскільки IMAP дозволяє користувачам упорядковувати повідомлення в ієрархічному порядку та розміщувати їх у папках, це допомагає користувачам краще організовувати свою кореспонденцію.

    Зрозуміло, що всі функціональні можливості IMAP мають свою ціну. Ці рішення складніше реалізувати, і зрештою протокол споживає набагато більше ЦП та ОЗУ, особливо коли він виконує процес синхронізації. Фактично високе завантаження процесора і пам'яті може статися як на стороні клієнта, так і на стороні сервера, якщо є тонна повідомлень для синхронізації. З цього погляду протокол POP3 менш витратний, хоч і менш функціональний.

    Конфіденційність також є однією з проблем, яка сильно залежатиме від кінцевих користувачів. Вони, як правило, воліли б завантажувати всі повідомлення електронної пошти та не залишати їх копії на невідомому сервері.

    Швидкість – перевага, яка варіюється і залежить від ситуації. POP3 може завантажувати всі поштові повідомлення під час підключення. А IMAP може за потреби (наприклад, при недостатній кількості трафіку) завантажувати лише заголовки повідомлень або певні частини та залишати вкладення на сервері. Тільки коли користувач вирішить, що частини, що залишилися, стоять завантаження, вони стануть доступні для нього. Тому IMAP можна вважати швидшим.

    Однак якщо всі повідомлення на сервері повинні завантажуватися щоразу, POP3 буде працювати набагато швидше.

    Як ви можете побачити, кожен з описуваних протоколів має свої переваги та недоліки. Вам вирішувати, які функції чи можливості важливіші.

    Також бажаний спосіб доступу до e-mail-клієнт визначає перевагу протоколу. Користувачі, які працюють лише з однієї машини та використовують веб-пошту для доступу до своїх нових електронних листів, оцінять POP3.

    Однак користувачі, які обмінюються поштовими скриньками або отримують доступ до своїх електронних листів з різних комп'ютерів, віддадуть перевагу IMAP.

    Спам-брандмауери з SMTP, IMAP та POP3

    Більшість брандмауерів для спаму мають справу лише з протоколом SMTP та захищають його. Сервери надсилають та отримують електронну пошту SMTP, і вони перевірятимуться спамом-брандмауером на шлюзі. Однак деякі брандмауери для спаму дають можливість захищати POP3 та IMAP4, коли зовнішнім користувачам потрібні ці служби для доступу до їхньої електронної пошти.

    Брандмауери SMTP прозорі для користувачів; для клієнтів немає змін конфігурації. Користувачі, як і раніше, отримують і надсилають поштові повідомлення на сервер електронної пошти. Так, Exchange або Dominos повинні налаштовувати маршрутизацію повідомлень на брандмауер на основі проксі-сервера під час надсилання електронної пошти, а також забезпечувати можливість надсилання листів із брандмауера.

В даний час методи спілкування через Інтернет є масою. Можна використовувати ICQ чи Skype, соціальні мережі, інші ресурси. Приблизно два десятки років тому єдиним способом надіслати або отримати віртуальний лист була електронна пошта.

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

Протоколи передачі даних, які використовуються під час роботи з електронною поштою

Будь-якій формі комунікацій притаманний певний стиль – набір угод. У мережі – це протокол. При роботі з електронною поштою може використовуватися ряд протоколів. Серед них:

  • POP3;
  • IMAP.

У чому полягає різниця, який протокол і в якому разі доцільно використати?

Що таке POP3

Бажаючи надіслати листа або повірити особисту поштову скриньку на віддаленому сервері, користувач може скористатися браузером, встановленим на комп'ютері, що не зовсім зручно. Найчастіше застосовується , яка обмінюється інформацією з сервером, використовуючи певний протокол. Якщо це – Post Office Protocol, процес відбувається так:

  1. З'єднання;
  2. отримання клієнтом інформації про стан скриньки, завантаження листів;
  3. Оновлення сервера та видалення вибраних повідомлень;
  4. Закриття з'єднання.

Що таке IMAP

Протокол IMAP надає користувачеві більше можливостей. Після авторизації на поштовому ресурсі на комп'ютер завантажуються лише заголовки листів. При виборі необхідного повідомлення програма-клієнт завантажує лист повністю. При цьому працювати можна on-line та off-line. Прочитані повідомлення не видаляються, з ними можна здійснювати бажані операції надалі.

Плюси та мінуси IMAP та POP3

Який протокол вибрати? Все залежить від специфіки роботи та потреб.

Крім того, що листи зберігаються на сервері без видалення, до переваг IMAP слід віднести:

  • Можливість доступу до скриньки з кількома клієнтами;
  • Підтримка одночасного доступу кількох клієнтів;
  • Підтримка кількох ящиків;
  • Можливість створення нових папок, до яких можна відкрити доступ іншим користувачам;
  • Можливість позначати листи як прочитані, важливі та інші;
  • Підтримка пошуку на сервері;
  • Можливість роботи у режимі on-line.

Мінус у цьому випадку єдиний – користувач витрачає більше часу на завантаження листів із центрального комп'ютера.

У цьому уроці ми розглянемо ще один протокол електронної пошти, яким поштові клієнти «спілкуються» з поштовими серверами.

Не думаю, що Ви встановлюватимете у себе локального поштового клієнта. Але, саме на прикладі локального поштового клієнта, простіше зрозуміти, що являють собою поштові протоколи і, зокрема, протокол POP3.

Відразу хочу обмовитися, що ми з Вами розглядаємо протоколи прийому (вилучення) електронної пошти з поштових серверів IMAP(імап, ай-меп) та POP3(Піп три). Але не розглядаємо (поки що) протокол передачі електронної пошти на поштові сервери SMTP(Ес-ем-ті-пі).

Хоча нічого особливого в протоколі SMTP немає, трохи згодом ми торкнемося і його.

Отже, налаштування прийому електронної пошти за протоколом POP3.

Нічого нового винаходити не будемо, а просто створимо ще один обліковий записдля нашої тестової адреси [email protected].

Для цього запускаємо нашу програму клієнта електронної пошти, клацаємо лівою кнопкою миші по «імені» нашого єдиного облікового запису « [email protected]», а потім знову лівою кнопкою миші по пункту меню створення облікового запису електронної пошти.

У наступному вікні заповнюємо поля точно так, як ми заповнювали ці поля при налаштуванні облікового запису за протоколом IMAP. Потім клацаємо по кнопці "Продовжити".

У наступному вікні нам пропонують вибір, яким протоколом ми будемо «забирати» свою пошту з поштового сервера. Клацаємо лівою кнопкою миші спочатку по кнопці вибору POP3, а потім знову лівою кнопкою миші по кнопці Готово.

Таким чином, у поштовому клієнті ми створили ще один обліковий запис, за допомогою якого ми будемо підключатися до поштового сервера та забирати пошту за протоколом POP3.

Папка "Вхідні" поки порожня, оскільки клієнт перевіряє пошту на сервері 1 раз на 10 хвилин. Чекати на 10 хвилин ми не будемо і перевіримо пошту на поштовому сервері негайно. Для цього натисніть кнопку пункту меню "Отримати".

Ось тут ми почнемо розглядати принцип роботи пошти за протоколом POP3.

Пошта з поштового сервера повністю «завантажується» на Ваш персональний комп'ютер. Тобто копіюється на Ваш комп'ютер у повному обсязі.

І тепер Ви можете працювати з електронною поштою повністю автономно. Пошта, яка знаходиться на Вашому персональному комп'ютері, тепер не пов'язана з поштовим сервером, на відміну від протоколу IMAP.

Але, перш ніж ми продовжимо, поміняємо ім'я облікового запису електронної пошти, створеної для роботи з поштовим сервером за протоколом POP3.

Справа в тому, що програма для імені облікового запису містить адресу електронної пошти. А оскільки у нас два облікові записи на одну електронну адресу, то вийшло два однакові імені для різних облікових записів.

Загалом, щоб не заплутатися, міняємо ім'я «облікові записи».

Для цього наводимо вказівник миші на ім'я нашого облікового запису « [email protected]і клацаємо по ній лівою кнопкою миші. Аналогічно клацаємо по пункту меню налаштування облікового запису "Перегляд параметрів цього облікового запису".

У нас відкриється вікно налаштувань для наших облікових записів. Змінюємо ім'я нашої "облікові". Щоб нічого не вигадувати, я просто допишу” ( pop3)».

Тепер легше орієнтуватися у наших облікових записах.

Давайте вважатимемо, що ми вже переглянули всю електронну пошту, і вона нам більше не потрібна. І вирішили ми видалити всі листи одразу. Для цього клацаємо лівою кнопкою миші за будь-яким листом. Комбінацією клавіш "Ctrl + A" виділяємо відразу всі листи і натискаємо клавішу "Del" для видалення.

Уся пошта вийшла і була переміщена з папки «Вхідні» до папки «Видалені».

А тепер УВАГА! Два моменти.

Тепер, доки не прийде новий лист, папка «Вхідні» буде порожньою. Це, начебто, само собою зрозуміло. Але!

Давайте подивимося, що реально творитися з нашою поштою на поштовому сервері, яку ми видалили. Подивимося через обліковий запис, налаштований на протокол IMAP і через .

Уся віддалена пошта залишилася на поштовому сервері. Хоча більше ми її не отримуємо. Добре це чи погано?

Тут швидше більше мінусів, ніж плюсів. Хоча кому як.

Один із «довгих» мінусів це те, що обсяг листів згодом наростатиме і може повністю забити поштову скриньку. Листи просто перестануть приходити.

Один із «великих» плюсів це те, що навіть якщо ми повністю видалимо свою пошту на локальному комп'ютері, ми завжди знатимемо, що у нас є як би «резервна копія» всіх наших листів

Давайте тепер змінимо один параметр сервера.

Для цього увійдемо до перегляду параметрів облікового запису.

Клацаємо лівою кнопкою миші на ім'я облікового запису « [email protected](pop3)», потім у пункті «Перегляд параметрів облікового запису», потім у пункті «Параметри сервера».

Забираємо галочку навпроти «Залишати копії повідомлень на сервері». Натискаємо кнопку "ОК".

Тепер давайте подивимося, що з нашою поштою на поштовому сервері в нашій поштовій скриньці.

Як ми бачимо, вся пошта була видалена відразу після того, як ми забрали галочку навпроти параметра "Залишати копії повідомлень на сервері".

Добре це чи погано?

Тут дуже великий плюс. Вам не потрібно турбуватися про свою поштову скриньку на сервері. Він просто ніколи не переповниться, і листи приходитимуть завжди.

З великих мінусів те, що якщо Ваш комп'ютер вийде з ладу, то вся пошта просто загубиться, якщо звичайно не робили резервні копії.

Але, з іншого боку, якщо немає резервної копії чогось, то це «чогось» уже не відновиш. Причому не важливо, що це пошта, фотографії, документи тощо.

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

Але і звичайно, ніхто ніколи не створює два облікові записи для однієї й тієї ж адреси електронної пошти. Хоча, як Ви бачите, така можливість існує. І зробив я два записи тільки для прикладу.

Ось у принципі і все про протоколи IMAP та POP3.

У наступному уроці ми дізнаємося як «прив'язувати» електронну пошту, працюючи з поштовою скринькою через веб-інтерфейс. Також розглянемо кілька різних методів вставки картинок.

На закінчення я хочу привітати всіх моїх читачів з наступаючим новим роком і побажати всім здоров'я, успіхів і щастя в особистому житті.

На цьому сьогодні все. Всім удачі та творчих успіхів. 🙂

Абревіатура POP3 у перекладі з англійської позначає поштовий протокол 3-ї версії. Сутність даного терміна полягає в тому, що POP3 є протоколом, призначеним для роботи з вхідною кореспонденцією. Використовуючи протокол POP3, поштовий клієнт насамперед забирає листи, що прийшли на сервер, пересилає їх на Ваш комп'ютер, а потім Ви можете працювати з отриманою кореспонденцією у поштовому клієнті, і Вам не доведеться додатково звертатися до поштового сервера.

Протокол РОРЗ надає користувачам можливість звертатися до свого сервера і вилучати листи та повідомлення, що накопичилися. Важливо знати, що користувач може отримати право доступу до сервера РОР з будь-якої точки доступу до Всесвітньої мережі. Для цього користувача необхідно запустити поштовий агент (UA), який працює за протоколом РОРЗ, а потім виконати його налаштування для роботи зі своїм поштовим сервером.

Таким чином, окремий персональний комп'ютер знаходиться на чолі моделі РОР. Цей комп'ютер функціонує виключно як клієнт постової системи. Доставка повідомлень клієнту здійснюється за протоколом РОР, а надсилаються повідомлення, як і раніше, з використанням SMTP. На комп'ютері у користувача є два агенти-інтерфейси до поштової системи: відправки (SMTP) та доставки (РОР). Таку ситуацію спеціалісти з розробки протоколу РОР3 називають «роздільними агентами» (split UA). Про концепцію окремих агентів коротко викладено у специфікації РОР3.

У протоколі РОР3 міститься інформація про три стадії процесу одержання кореспонденції:

  • авторизація
  • транзакція
  • оновлення

Процес авторизації починається після встановлення з'єднання між сервером і клієнтом РОР3. У межах цієї стадії клієнт здійснює власну ідентифікацію для сервера. У разі успішної авторизації сервер відкриває поштову скриньку користувача і після цього відбувається процес транзакції, під час якої клієнт надсилає серверу запит про видачу певної інформації (наприклад, список поштових повідомлень) або звертається до сервера з проханням виконати певну дію (наприклад, видати повідомлення). Сеанс зв'язку закінчується на стадії оновлення.

21.04.05 7.7K

Базові операції

Спочатку сервер прослуховує TCP з'єднання на порту 110. Коли клієнт бажає скористатися сервісом POP3, він повинен встановити з'єднання з сервером. Після встановлення з'єднання сервер надсилає клієнту привітання. Клієнт та POP3 сервер обмінюються командами та відповідями (у зазначеному порядку) доти, доки з'єднання не буде закрито або перервано. Команди POP3 складаються з ключового слова, за яким може йти один або кілька параметрів. Усі команди закінчуються парою CRLF. Ключові слова та аргументи складаються з друкованих ASCII символів. Ключові слова та аргументи розділені поодиноким пропуском. Ключові слова складаються з 3-х або 4-х символів, кожен аргумент може бути довжиною до 40 символів.
Відповіді складаються з індикатора стану та ключового слова. Усі відповіді закінчуються парою CRLF. В даний час є два індикатори стану: позитивний (+OK) та негативний (-ERR).

Певні відповіді може бути багаторядковими. У цьому випадку, після першого рядка відповіді CRLF, кожен додатково посланий рядок закінчується парою CRLF. Після того, як усі рядки відповіді надіслані, останній рядок буде закінчуватися завершальним октетом - символом. («.», десятковий код 46) та парою CRLF. POP3 сесія складається з кількох стадій. Після встановлення TCP з'єднання сервер посилає вітання і сесія переходить у стан AUTHORIZATION. На цьому етапі клієнт має ідентифікувати себе на сервері. Після успішної ідентифікації сесія перетворюється на стан TRANSACTION. У цій стадії клієнт вимагає виконання команд на сервері. Коли клієнт надсилає команду QUIT сесія переходить у стан UPDATE. На цьому етапі сервер POP3 звільняє всі ресурси зайняті в стадії TRANSACTION і закінчує роботу. TCP з'єднання після цього закривається. POP3 сервер МОЖЕ мати inactivity autologout таймер (таймер авто-завершення сесії при бездіяльності). Такий таймер ПОВИНЕН бути встановлений щонайменше на 10 хвилин. Якщо клієнт не передає серверу команди заданий інтервал часу, то сервер розриває з'єднання TCP без переходу в стан UPDATE, тобто. без видалення повідомлень та посилки будь-яких відповідей клієнту.

Стан AUTHORIZATION

Після відкриття клієнтом TCP з'єднання сервер посилає однорядкове привітання. Рядок має закінчуватися CRLF.
Приклад:

S: +OK POP3 server ready

Примітка:
Як привітання POP3 сервер повинен завжди надсилати позитивну відповідь.

Тепер сесія знаходиться у стані AUTHORIZATION. Клієнт має ідентифікувати себе на сервері. У цьому документі описано два способи, комбінація команд USER та PASS та команда APOP. Для ідентифікації за допомогою USER і PASS, клієнт повинен спочатку надіслати команду USER. Якщо сервер відповів позитивним індикатором стану (+OK), то клієнт повинен надіслати команду PASS щоб закінчити авторизацію або надіслати команду QUIT для завершення сесії. Якщо сервер відправив негативну відповідь (-ERR) на команду USER, можна повторити авторизацію чи закінчити сесію командою QUIT.
Після отримання команди PASS сервер використовує пару аргументів USER і PASS для визначення доступу до поштової скриньки.
Як тільки сервер визначив за допомогою якоїсь команди ідентифікації, що клієнту потрібно дати доступ до відповідної поштової скриньки, сервер POP3 отримує монопольний доступ до поштової скриньки, щоб запобігти зміні або видаленню повідомлень до стану UPDATE. Якщо блокування пройшло успішно, сервер надсилає позитивну відповідь та рядок привітання. Тепер сесія переходить у стан TRANSACTION без повідомлень, помічених як віддалені. Якщо поштова скринька не може бути відкрита з будь-яких причин (наприклад, не може бути виконане блокування або клієнту відмовлено у доступі до відповідної поштової скриньки), сервер відповідає негативним індикатором стану. Після негативної відповіді сервер може закрити з'єднання. Якщо сервер не закрив з'єднання, клієнт може надіслати нову команду ідентифікації та почати все заново або надіслати команду QUIT.
Після того, як сервер відкрив поштову скриньку, він надає номер кожному повідомленню і зазначає розмір повідомлення в октетах. Перше повідомлення матиме номер 1, наступне – номер 2 тощо. У POP3 командах усі числа представлені у десятковій системі.

Ось резюме за трьома командами розглянутими до теперішнього часу:

USER ім'я

Аргументи:
Рядок ідентифікації поштової скриньки (обов'язковий).

Обмеження:
Може бути передана тільки в стані AUTHORIZATION після привітання POP3 або неуспішної команди USER або PASS.

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

OK name is a valid mailbox -ERR never heard of mailbox name

PASS рядок

Аргументи:
пароль до поштової скриньки (обов'язковий).

Обмеження:
Може бути передана лише у стані AUTHORIZATION після успішної команди USER.

Подробиці:
Команда PASS має лише один аргумент, сервер може трактувати пробіл у параметрі як частину пароля замість роздільника аргументів.

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

OK maildrop locked and ready - ERR invalid password - ERR unable to lock maildrop

C: USER mrose S: ​​+OK mrose є справжньою крутою вадою C: PASS secret S: +OK mrose's maildrop має 2 messages (320 octets) ... C: USER mrose S: ​​+OK mrose is a real hoopy frood C: PASS secret S: -ERR maildrop already locked

QUIT

Аргументи:
ні

Обмеження:
ні

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

C: QUIT S: +OK dewey POP3 server signing off

Стан TRANSACTION

Після того, як клієнт успішно ідентифікував себе на сервері і сервер заблокував і відкрив відповідну поштову скриньку, сесія переходить у стан TRANSACTION. Тепер клієнт може вимагати інформацію. Після кожної команди сервер надсилає відповідь. Наприкінці клієнт надсилає команду QUIT і сесія переходить у стан UPDATE.

STAT

Аргументи:
ні

Обмеження:

Подробиці:
POP3 сервер надсилає позитивну відповідь з рядком містить інформацію про поштову скриньку. Цей рядок називається "drop listing". Для легкого розбору, POP3 сервер використовую певний формат для «drop listing». Позитивна відповідь включає: індикатор стану (+OK), далі йдуть число повідомлень і розмір повідомлень в октетах, розділені одиночним пробілом. Повідомлення, позначені як видалені, не враховуються.

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

C: STAT S: +OK 2320

LIST повідомлення

Аргументи:
Номер повідомлення (необов'язковий), повідомлення, позначені як видалені, не враховуються.

Обмеження:
Може бути передана лише у стані TRANSACTION.

Подробиці:
Якщо аргумент, сервер передає позитивну відповідь з рядком інформації для заданого повідомлення. Такий рядок називається "scan listing". Якщо аргумент не заданий і сервер посилає багаторядкову відповідь. Після індикатора стану (+OK), для кожного повідомлення в поштовій скриньці, POP3 сервер надсилає рядок, що містить інформацію для цього повідомлення. Цей рядок називається "scan listing". Усі POP3 сервери використовують певний формат для “scan listing”. “scan listing” складається з номера повідомлення, після якого, через одиночний пробіл слід точний розмір повідомлення в октетах. Цей документ не вказує, що має слідувати за розміром повідомлення, єдина вимога щоб відповідь закінчувалася парою CRLF. Різні розширення можуть містити додаткову інформацію.

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

OK scan listing follows -ERR не має такого повідомлення

C: LIST S: +OK 2 messages (320 octets) S: 1 120 S: 2 200 S: . ... C: LIST 2 S: +OK 2 200 ... C: LIST 3 S: -ERR немає такого повідомлення, тільки 2 повідомлення в maildrop

RETR повідомлення

Аргументи:

Обмеження:
Може бути передана лише у стані TRANSACTION.

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

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

OK message follows -ERR no such message

DELE повідомлення

Аргументи:
Номер повідомлення (обов'язковий), повідомлення, позначені як видалені, не враховуються.

Обмеження:
Може бути передана лише у стані TRANSACTION.

Подробиці:
POP3 сервер позначає повідомлення як віддалене. Усі наступні звернення до цього повідомлення викликатимуть помилку. Фактично сервер не видаляє повідомлення, доки не настане стан UPDATE.

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

OK message deleted -ERR no such message

C: DELE 1 S: +OK message 1 deleted ... C: DELE 2 S: -ERR message 2 already deleted

NOOP

Аргументи:
Ні.

Обмеження:
Може бути передана лише у стані TRANSACTION.

Подробиці:
Сервер нічого не робить і відповідає лише позитивно.

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

RSET

Аргументи:
Ні.

Обмеження:
Може бути передана лише у стані TRANSACTION.

Подробиці:
Якщо повідомлення було позначене як віддалене, сервер знімає цю позначку. Відповідь завжди позитивна.
Можливі відповіді:

Стан UPDATE

Коли клієнт посилає команду QUIT у стані TRANSACTION, сервер переходить на стадію UPDATE (Зверніть увагу, що якщо клієнт посилає команду у стані AUTHORIZATION, то сервер завершує сесію та не входить до стадії UPDATE). Якщо сесія завершується з будь-яких інших причин, без надсилання команди QUIT, POP3 сесія не входить до стадії UPDATE і жодне повідомлення з поштової скриньки не повинно бути видалено.

QUIT

Аргументи:
Ні.

Обмеження:
Ні.

Подробиці:
Сервер видаляє всі повідомлення, позначені як видалені. Надсилається відповідь. З'єднання TCP закривається.

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

C: QUIT S: +OK dewey POP3 сервер сигналізація off (maildrop empty) ... C: QUIT S: +OK знайомий POP3 server signing off (2 messages left) ...

Необов'язкові команди

POP3 команди, описані вище, повинні підтримуватися всіма POP3 серверами. Додаткові команди дають клієнту більшу свободу в обробці повідомлень. Примітка: цей документ заохочує підтримку додаткових команд замість внесення додаткових відомостей до “drop listing” та “scan listing”.

TOP повідомлення n

Аргументи:
Номер повідомлення (обов'язковий) та невід'ємне число, що вказує на кількість рядків тіла повідомлення, яке сервер передасть клієнту, обов'язковий аргумент. Не можна звертатися до повідомлень, позначених як видалені.

Обмеження:
Може бути передана лише у стані TRANSACTION.

Подробиці:
Після позитивної відповіді сервер посилає багаторядкову відповідь. Після початкового +OK сервер посилає заголовок повідомлення, порожній рядок і вказану кількість рядків з тіла повідомлення.

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

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

OK top of message follows

C: TOP 1 10 S: OK S: S: . ... C: TOP 100 3 S: -ERR немає такого повідомлення

UIDL повідомлення

Аргументи:
Номер повідомлення (необов'язковий). Не можна звернутися до повідомлення, позначеного як віддалене.

Обмеження:
Може бути передана лише у стані TRANSACTION.

Подробиці:
Якщо аргумент заданий, сервер надсилає позитивну відповідь з рядком, який містить інформацію про задане повідомлення. Цей рядок називається "unique-id listing".
Якщо аргумент не заданий, то при позитивній відповіді сервер посилає багаторядкову відповідь. Після індикатора стану (+OK), і рядок містить інформацію про повідомлення.
Для спрощення синтаксичного аналізу всі сервери повинні використовувати певний формат unique-id listing. "unique-id listing" складається з номера повідомлення та унікального ідентифікатора розділені одиночним пропуском. За унікальним ідентифікатором не повинно слідувати жодна додаткова інформація.
Унікальний ідентифікатор - це довільний, що визначається сервером, рядок, що містить символи в діапазоні від 0x21 до 0x7E, який однозначно ідентифікує повідомлення в межах поштової скриньки. Ідентифікатор зберігається на весь час сесії. Сервер не повинен багаторазово використовувати ідентифікатор для даної поштової скриньки, доки існує об'єкт, який його використовує. Повідомлення позначені як віддалені не враховуються.

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

OK unique-id listing follows -ERR немає такого повідомлення

C: UIDL S: +OK S: 1 whqtswO00WBw418f9t5JxYwZ S: 2 QhdPYR:00WBw1Ph7x7 S: . ... C: UIDL 2 S: +OK 2 QhdPYR:00WBw1Ph7x7 ... C: UIDL 3 S: -ERR немає такого повідомлення, тільки 2 повідомлення в maildrop

APOP ім'я digest (шифрований рядок пароля)

Аргументи: Рядок, що ідентифікує поштову скриньку і MD5 digest (шифрований (за алгоритмом MD5) рядок пароля), обидва параметри обов'язкові.

Цей розділ знаходиться в стадії доопрацювання.

Резюме з команд POP3

Основні команди:

USER ім'я PASS рядок QUIT STAT LIST повідомлення RETR повідомлення DELE повідомлення NOOP RSET QUIT

Додаткові команди:

APOP ім'я digest TOP повідомлення номер UIDL повідомлення

Зверніть увагу, що на всі команди за винятком STAT, LIST і UIDL, відповідь, дана сервером важлива тільки +OK і -ERR. Будь-який текст, що зустрічається після цієї відповіді, може ігноруватися клієнтом.

Приклад POP3 сесії

S: wait for connection on TCP port 110 C: open connection S: +OK POP3 server ready<[email protected]> C: APOP mrose S: ​​+OK mrose's maildrop має 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: S: .C: DELE 1 S: +OK message 1 deleted C: RETR 2 S: +OK 200 octets S: S: . +OK message 2 deleted C: QUIT S: +OK dewey POP3 server signing off (maildrop empty) C: close connection S: wait for next connection

Добре погано