Якщо вибрати протокол imap, то яку версію. Що таке POP3, IMAP та SMTP-сервери? Кількість одночасних сесій

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

Суть протоколу POP3 досить проста. POP-сервер отримує від свого SMTP-сервера поштові повідомлення та "розкидає" їх по скриньках конкретних користувачів. Все, на що він здатний – віддавати пошту та позначати прапорцями прочитані повідомлення. Ці завдання легко виконує будь-який, навіть найпримітивніший поштовий клієнт. Із протоколом IMAP все набагато складніше: у нього значно більше функцій, отже, і вимог до поштового клієнта.

IMAP-протокол реалізує технологію "псевдолокальної" поштової скриньки. Це означає, що ви можете керувати своєю скринькою на сервері так, ніби вона знаходиться на локальній машині. При цьому існує можливість зручної роботиз папками IMAP на сервері. Це дуже гнучкий інструмент, що дозволяє вам створювати та видаляти каталоги. Те саме можна робити і з самими повідомленнями: сортувати їх по папках, видаляти або навіть переміщати на інший сервер. При цьому дві поштові скриньки на різних серверахможуть синхронізуватися автоматично – це зручно, якщо ви хочете зберігати резервну копіюлистів десь ще.

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

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

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

Спочатку клієнт і сервер повинні обмінятися привітаннями, після цього клієнт відправляє дані на сервер і чекає на відповідь. Наприкінці сесії канал закривається. Цікава особливістьПротокол IMAP полягає в тому, що сервер не повинен відповідати на команди по черзі. Тобто, під час очікування відповіді на запит клієнт може продовжувати надсилати запити. Сервер відповідатиме на них у порядку виконання, опрацьовуючи запити одночасно. Це дуже зручно, оскільки дозволяє запускати трудомісткі завдання на сервері (такі, як пошук листів за певним критерієм) і не зупиняти роботу сервера з іншими запитами (наприклад, завантаження певного листа).

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

Тепер, коли ми трохи розібралися з функціями протоколу IMAP, спробуємо знайти те програмне забезпечення, яке б найкращим чиномпрацювало із цим протоколом. Вся інформація про це була отримана з офіційного сайту протоколу.

На жаль, незважаючи на те, що протокол був розроблений давно, програмне забезпечення для роботи з ним знайти не так просто. Найпопулярніший поштовий клієнт The Bat! працює з протоколом IMAP досить одноманітно. Він використовує його так само, як і POP3 для скачування листів на локальну машинута видалення їх на сервері. Жодних додаткових функцій, заради яких, власне, протокол і створювався, не підтримується. Щоправда, зараз планується випуск нової версіїпрограми, в якій обіцяють зробити повну підтримкупротоколу IMAP, проте поки що доводиться шукати інші програмні рішення.

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

Коли ви обиратимете програму для себе, то зверніть увагу на деякі параметри таблиці. Наприклад, дуже бажано, щоб поштовий клієнт підтримував параметр «Disconnected use». Це означає, що у цьому випадку ви зможете використовувати поштову програму, не маючи постійного доступудо Інтернету. Ви приєднаєтеся до сервера, завантажуєте нові листи або заголовки, відповісте на них, зробите потрібні діїз папками, а потім знову з'єднайтеся, і зміни відбуваються на сервері автоматично. Це дуже зручно, коли доводиться виходити в Інтернет через модем із погодинною оплатою з'єднання, щоб не збільшувати свої витрати на доступ до мережі.

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

Базується на транспортному протоколі TCPта використовує порт 143.

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

Для надсилання листів використовується протокол SMTP.

Мета розробки протоколу IMAP

Протокол IMAP є альтернативою POP3.

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

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

Переваги порівняно з POP3

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

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

Завдяки системі прапорів, визначеної в IMAP4, клієнт може відстежувати стан повідомлення (прочитано, надіслано відповідь, видалено тощо); дані про прапори зберігаються на сервері.

Клієнти IMAP4 можуть створювати, перейменовувати та видаляти скриньки та переміщувати повідомлення між скриньками. Крім того, можна використовувати розширення IMAP4 Access Control List (ACL) Extension (RFC 4314) для керування правами доступу до скриньок.

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

IMAP4 має очевидний механізм розширення.

Версії протоколу IMAP

  • Original IMAP (1986, специфікація відсутня)
  • IMAP2 (1988 - RFC 1064, 1990 - RFC 1176)
  • IMAP3 (1991, RFC 1203)
  • IMAP2bis (специфікація існує лише у чорновому варіанті 1993 року)
  • IMAP4 (перейменований IMAP2bis)

Повідомлення та їх атрибути

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

Кожне повідомлення має кілька атрибутів, пов'язаних з ним. Ці атрибути можна визначити індивідуально або спільно з іншими атрибутами.

UID

Кожному повідомленню ставиться у відповідність 32-бітовий код, який при використанні спільно з унікальним ідентифікатором утворює 64-бітову послідовність, що гарантує однозначну ідентифікацію повідомлення в поштовій скриньці. Чим пізніше повідомлення надійшло, тим більше його UID.

UID асоціюється з поштовою скринькою і надсилається у вигляді коду uidvalidity відгуку (ok) на фазі вибору поштової скриньки. Якщо UID із попередньої сесії з якоїсь причини не може бути використаний, UID має бути інкрементований.

UID повідомлення не повинно змінюватися в межах сесії, його не слід змінювати від сесії до сесії. Однак, якщо неможливо зберегти UID повідомлення в наступній сесії, кожна наступна сесія повинна мати новий унікальний код ідентифікатора, який повинен бути більшим, ніж будь-який UID, використаний раніше.

Порядковий номер повідомлення

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

Протягом сесії можна змінити порядковий номер повідомлення. Наприклад, коли повідомлення видаляється з поштової скриньки, номери всіх наступних повідомлень змінюються.

Прапори повідомлення

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

Системним прапором є прапор, ім'я якого визначено специфікації протоколу. Усі системні прапори починаються із символу \.

В даний час визначено такі системні прапори:

  • \seen - повідомлення прочитане
  • \answered - на повідомлення надіслано відповідь
  • \flagged - повідомлення позначене як «важливе»
  • \deleted - повідомлення відмічено як віддалене
  • \draft - повідомлення відмічено як чернетка
  • \recent - недавнє повідомлення (вперше з'явилося в ящику під час поточної сесії)

Внутрішня дата та час повідомлення на сервері

Час та дата отримання повідомлення. У разі доставки повідомлення через протокол SMTP - дата та час доставки кінцевому адресату. Для повідомлень, доставлених командою копіювання, - внутрішня дата та час відправника повідомлення. При використанні команди append - дата та час, задані параметрамикоманди.

Інші атрибути

  • розмір повідомлення – кількість октетів у повідомленні.
  • структура конверт повідомлення.
  • структура тіла повідомлення

Взаємодія клієнта та сервера

З'єднання IMAP 4.1 передбачає встановлення зв'язку між клієнтом та сервером. Клієнт надсилає серверу команди, сервер клієнту - дані та повідомлення про статус виконання запиту. Всі повідомлення як клієнта, так і сервера мають форму рядків, що завершуються спеціальною послідовністю.

Будь-яка процедура починається з команди клієнта. Будь-яка команда клієнта починається з префікса-ідентифікатора (зазвичай короткий літерно-цифровий рядок, наприклад, A0001, A0002 і т. д.), що називається міткою (tag). Для кожної команди клієнт генерує свою позначку.

Можливі два випадки, коли рядок, відправлений клієнтом, не є закінченою командою. У першому - аргумент команди забезпечується кодом, визначальним число октетів у рядку. У другому – аргументи команди вимагають відгуку з боку сервера. В обох випадках сервер надсилає запит продовження команди, що починається із символу + .

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

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

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

Дані можуть бути надіслані сервером у відповідь на команду клієнта або з власної ініціативи. Формат даних не залежить від причини надсилання.

Відгук вказує на вдале/невдале виконання операції. Він використовує таку саму мітку, як і команда клієнта, яка запустила процедуру. Таким чином, якщо здійснюється більш ніж одна команда, мітка сервера вказує на команду, що викликала цей відгук. Є три види відгуку завершення сервера: ok (успішне виконання), no (невдача), bad (протокольна помилка, наприклад, не впізнана команда або зафіксована синтаксична помилка).

Протокольний приймач клієнта IMAP 4.1 читає рядок відгуку від сервера і робить дії відповідно до першого символу * або +.

Клієнт повинен бути готовий прийняти будь-який відгук сервера у будь-який час. Дані сервера повинні бути записані так, щоб клієнт міг їх безпосередньо використовувати, не надсилаючи серверу запитів, що уточнюють.

Стан сервера IMAP

Сервер IMAP 4.1 знаходиться в одному із чотирьох станів.

Більшість команд можна використовувати лише у певних станах.

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

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

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

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

  • (1) З'єднання без попередньої автентифікації
  • (2) З'єднання з попередньою автентифікацією
  • (3) З'єднання відкинуто
  • (4) Успішне завершення команди LOGIN або AUTHENTICATE
  • (5) Успішне завершення команди SELECT або EXAMINE
  • (6) Виконання команди CLOSE або невдала команда SELECT чи EXAMINE
  • (7) Виконання команди LOGOUT, закриття сервера, або переривання з'єднання

Команди протоколу IMAP

LOGIN Дозволяє клієнту при реєстрації на сервері IMAP використовувати ідентифікатор користувача та пароль у звичайному текстовому вигляді. Це не самий найкращий методале іноді це єдина можливість підключитися до сервера. AUTHENTICATE Дозволяє клієнту використовувати при реєстрації на сервері IMAP альтернативні методи автентифікації. Індивідуальна автентифікація користувачів не є обов'язковою і підтримується не всіма серверами IMAP. До того ж, реалізації такої перевірки можуть різнитися залежно від сервера. Коли клієнт видає команду AUTHENTICATE, сервер відповідає на неї рядком виклику в кодуванні base64. Далі клієнт повинен відправити відповідь на виклик сервера про автентифікацію, також закодований base64. Якщо на сервері не підтримується метод автентифікації, запропонований клієнтом, він включає у свою відповідь слово NO . Після цього клієнт має продовжити переговори щодо узгодження методу автентифікації. Якщо всі спроби визначити метод автентифікації зазнали невдачі, то клієнт робить спробу зареєструватися на сервері за допомогою команди LOGIN. CLOSE Закриває поштову скриньку. Коли поштова скринька закрита, всі повідомлення, позначені прапором \DELETED , фізично видаляються з нього. Немає параметрів. LOGOUT Завершує сеанс для поточного ідентифікатора користувача та закриває всі відкриті поштові скриньки. Якщо будь-які повідомлення були позначені прапором \deleted , то за допомогою цієї команди вони будуть видалені фізично з поштової скриньки. CREATE Створює нову поштову скриньку. Ім'я та місцезнаходження нових поштових скриньок визначаються відповідно до загальних специфікацій сервера. DELETE Застосовується до поштових скриньок. При отриманні цієї команди сервер IMAP спробує видалити поштову скриньку з іменем, вказаним як аргумент команди. Повідомлення видаляються разом із скриньками та відновленню не підлягають. RENAME Змінює ім'я поштової скриньки. Ця команда має два параметри - ім'я поштової скриньки, яку потрібно перейменувати, та нове ім'я поштової скриньки. SUBSCRIBE Додає поштову скриньку до списку активних скриньок клієнта. У цій команді використовується лише один параметр – ім'я поштової скриньки, яку потрібно внести до списку. Поштова скринька не обов'язково повинна існувати, щоб її можна було додати до списку активних скриньок - це дозволяє додавати до списку активних скриньок скриньки, які ще не створені, або видаляти їх, якщо вони порожні. UNSUBSCRIBE Видаляє поштові скриньки зі списку активних. У ній також використовується один параметр - ім'я поштової скриньки, який видаляється зі списку активних скриньок клієнта. При цьому сама по собі поштова скринька не видаляється. LIST Отримати список усіх поштових скриньок клієнта; має два параметри. LSUB На відміну від команди LIST використовується для отримання списку скриньок, активованих командою SUBSCRIBE . Параметри - такі ж, як у LIST. STATUS Формує запит про поточному станіпоштової скриньки. Першим параметром для цієї команди є ім'я поштової скриньки, до якої вона застосовується. Другий параметр – це список критеріїв, за якими клієнт хоче отримати інформацію. Команда STATUS може використовуватись для отримання інформації про стан поштової скриньки без її відкриття за допомогою команд SELECT або EXAMINE. Користувач може отримати інформацію за критеріями:
  • MESSAGES - загальна кількість повідомлень у поштовій скриньці
  • RECENT - кількість повідомлень з прапором \recent
  • UIDNEXT - ідентифікатор UID, який буде призначено новому повідомленню
  • UIDVALIDITY - унікальний ідентифікатор поштової скриньки
  • UNSEEN - кількість повідомлень без прапора \seen
APPEND Додає повідомлення до кінця вказаної поштової скриньки. Як аргументи вказуються ім'я скриньки, прапори повідомлення (не обов'язково), мітка часу (не обов'язково) і саме повідомлення - заголовок і тіло. Є такі прапори повідомлень:
  • \Seen - прочитано
  • \Answered - написана відповідь
  • \Flagged - термінове
  • \Deleted - позначено для видалення
  • \Draft - чернетка
  • \Recent - нове повідомлення, воно надійшло до поштової скриньки після закінчення минулого сеансу
Якщо в команді вказані прапори, то вони встановлюються для повідомлення, що додається. У будь-якому випадку для повідомлення встановлюється прапор \Recent. Якщо в команді задана мітка часу, то цей час буде встановлено як час створення повідомлення, інакше за час створення приймається поточний час. Оскільки повідомлення складається з одного рядка, використовуються літерали. Приклад: C A003 APPEND збережені повідомлення (\Seen) (247) S + Ready for literal data C Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) C From: Fred Foobar C Subject: afternoon meeting C To: [email protected] C Message-Id: C C Hello Joe, do you think we can meet at 3:30 tomorrow? S A003 OK APPEND completed Розширення MULTIAPPEND , описане в RFC 3502 , дозволяє однією командою додавати до поштової скриньки кілька повідомлень. CHECK Встановлює контрольну точку в поштовій скриньці. Будь-які операції, такі, як запис даних з пам'яті сервера на його жорсткий диск, повинні виконуватися у відповідному стані поштової скриньки. Саме для перевірки цілісності поштової скриньки після дискових та інших подібних до них операцій і застосовується команда CHECK. Ця команда використовується без установок. EXPUNGE Видаляє з поштової скриньки всі повідомлення, позначені прапором \DELETED , при цьому поштова скринька не закривається. Відповідь сервера на команду EXPUNGE є звітом про новий стан поштової скриньки. SEARCH Пошук повідомлень за критеріями активної поштової скриньки з наступним відображенням результатів у вигляді номера повідомлення. Можливий пошук повідомлень, у тілі яких є певна текстовий рядок, або мають певний прапор, або отримані до певної датиі т.д. FETCH Отримати текст поштового повідомлення. Команда застосовується лише для відображення повідомлень. На відміну від POP3 клієнт IMAP не зберігає копію повідомлення на клієнтському ПК. STORE Змінює інформацію про повідомлення. COPY Копіює повідомлення з однієї поштової скриньки до іншої. UID Використовується у зв'язку з командами FETCH, COPY, STORE або SEARCH. З її допомогою в цих командах можна використовувати реальні ідентифікаційні номери UID замість послідовності чисел із діапазону номерів повідомлень. CAPABILITY Запит у сервера IMAP інформацію про його можливості. NOOP Команда нічого не робить. Вона може застосовуватися для підтримки активності під час сеансу для того, щоб сеанс не припинився за таймером інтервалу очікування. Відповідь сервера на команду NOOP завжди має бути позитивною. Так як сервер часто у відповіді повертає стан виконання тієї чи іншої команди, то NOOP можна використовувати як тригер для періодичного запиту про стан сервера.

Посилання

  • RFC 3501 Internet Message Access Protocol v4rev1 (англ.)
  • The IMAP Connection (англ.)
  • Howto: Конфігурація KMail з Gmail - IMAP і Роз'єднаний IMAP (англ.)

Деякі команди SMTP

HELO (SP) (string) (CRLF) Ідентифікує SMTP-сервер відправника, відкриває сеанс (SP) пропуск
QUIT(CRLF) Завершує SMTP-сеанс.
MAIL (SP) FROM: (reverse-path) (CRLF) Вказує адресу відправника.
RCPT (SP) TO: (forward-path) (CRLF) Вказує адресу одержувача.
DATA (CRLF) Вказує на початок повідомлення. Для закінчення повідомлення вказується (CRLF).
VRFY (SP) (string) (CRLF) перевіряє існування одержувача.
EXPN (SP) (string) (CRLF) показує список адрес для списку розсилки.
NOOP(CRLF) порожня операція
TURN(CRLF) сервер та клієнт змінюються ролями після відповіді сервера 200 OK
RSET(CRLF) скидання сесії у вихідний стан
HELP(CRLF) інформація про підтримувані команди

Найпростіший приклад SMTP-сесії С: - клієнт, S: - сервер

S: (очікує з'єднання)

C: (Підключається до порту 25 сервера)

S:220 mail.company.tld ESMTP CommuniGate Pro 5.1.4i є для вас!

S:250 domain name повинен бути qualified

S:250 [email protected] sender accepted

S:250 [email protected] ok

S:550 [email protected] unknown user account

S:354 Enter mail, end with "." on a line by itself

S:250 769947 повідомлення, отримане для delivery

S:221 mail.company.tld CommuniGate Pro SMTP closing connection

S: (закриває з'єднання)

В результаті такої сесії листа буде доставлено адресату [email protected], але не буде доставлено адресату [email protected]тому що такої адреси не існує.

17) Pop3(англ. Post Office Protocol Version 3- протокол поштового відділення, версія 3) - стандартний Інтернет-протокол прикладного рівня, що використовується клієнтами електронної пошти для отримання електронного повідомлення з віддаленого сервераза TCP/IP-з'єднання. POP3 простий у реалізації та надає мінімальні необхідні можливостідля роботи з поштовою скринькою. Всупереч поширеній думці, третя версія протоколу POP дає можливість працювати не тільки зі скринькою в цілому, але й окремими повідомленнями, що знаходяться в ньому, дозволяючи переглядати інформацію про листи, отримувати та видаляти їх окремо.

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

У відповідь на команду STAT сервер повертає кількість повідомлень у поштовій скриньці та загальний розмірскриньки в октетах. Повідомлення, позначені для видалення, не враховуються. Наприклад, відповідь "+OK 4 223718" означає, що у поштовій скриньці є 4 повідомлення загальним обсягом 223718 октет.

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

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

У відповідь сервер надсилає запитане повідомлення.

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

На цю команду сервер має дати позитивну відповідь. Жодних інших дій не провадиться.

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

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

18) IMAP(англ. Internet Message Access Protocol) – протокол прикладного рівня для доступу до електронної пошти.

Базується на транспортному протоколі TCP та використовує порт 143.

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

Протокол IMAP є альтернативою POP3.

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

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

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

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

Завдяки системі прапорів, визначеної в IMAP4, клієнт може відстежувати стан повідомлення (прочитано, надіслано відповідь, видалено тощо); дані про прапори зберігаються на сервері.

Клієнти IMAP4 можуть створювати, перейменовувати та видаляти скриньки та переміщувати повідомлення між скриньками. Крім того, можна використовувати розширення IMAP4 Access Control List (ACL) Extension (RFC 4314) для керування правами доступу до скриньок.

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

IMAP4 має очевидний механізм розширення.

Команди протоколу IMAP

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

Дозволяє клієнту використовувати під час реєстрації на сервері IMAP альтернативні методи автентифікації. Індивідуальна автентифікація користувачів не є обов'язковою і підтримується не всіма серверами IMAP. До того ж, реалізації такої перевірки можуть різнитися залежно від сервера. Коли клієнт видає команду AUTHENTICATE, сервер відповідає рядком виклику в кодуванні base64. Далі клієнт повинен відправити відповідь на виклик сервера про автентифікацію, також закодований base64. Якщо на сервері не підтримується метод автентифікації, запропонований клієнтом, він включає у свою відповідь слово NO. Після цього клієнт має продовжити переговори щодо узгодження методу автентифікації. Якщо всі спроби визначити метод автентифікації зазнали невдачі, то клієнт робить спробу зареєструватися на сервері за допомогою команди LOGIN.

Закриває поштову скриньку. Коли поштова скринька закрита, всі повідомлення, позначені прапором \DELETED, фізично видаляються з нього. Немає параметрів.

Завершує сеанс для поточного ідентифікатора користувача та закриває всі відкриті поштові скриньки. Якщо будь-які повідомлення були позначені прапором \deleted, то за допомогою цієї команди вони будуть видалені фізично з поштової скриньки.

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

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

Змінює ім'я поштової скриньки. Ця команда має два параметри - ім'я поштової скриньки, яку потрібно перейменувати, та нове ім'я поштової скриньки.

Додає поштову скриньку до списку активних скриньок клієнта. У цій команді використовується лише один параметр – ім'я поштової скриньки, яку потрібно внести до списку. Поштова скринька не обов'язково повинна існувати, щоб її можна було додати до списку активних скриньок - це дозволяє додавати до списку активних скриньок скриньки, які ще не створені, або видаляти їх, якщо вони порожні.

Видаляє поштові скриньки зі списку активних. У ній також використовується один параметр - ім'я поштової скриньки, який видаляється зі списку активних скриньок клієнта. При цьому сама по собі поштова скринька не видаляється.

Отримати список усіх поштових скриньок клієнта; має два параметри.

На відміну від команди LIST, використовується для отримання списку скриньок, активованих командою SUBSCRIBE. Параметри – такі ж, як у LIST.

Формує запит про поточний стан поштової скриньки. Першим параметром для цієї команди є ім'я поштової скриньки, до якої вона застосовується. Другий параметр – це список критеріїв, за якими клієнт хоче отримати інформацію. Команда STATUS може використовуватись для отримання інформації про стан поштової скриньки без її відкриття за допомогою команд SELECT або EXAMINE.

Користувач може отримати інформацію за критеріями:

· MESSAGES - загальна кількість повідомлень у поштовій скриньці

· RECENT - кількість повідомлень з прапором \recent

· UIDNEXT - ідентифікатор UID, який буде призначено новому повідомленню

· UIDVALIDITY - унікальний ідентифікатор поштової скриньки

· UNSEEN - кількість повідомлень без прапора \seen

Додає повідомлення до кінця зазначеної поштової скриньки. Як аргументи вказуються ім'я скриньки, прапори повідомлення (не обов'язково), мітка часу (не обов'язково) і саме повідомлення - заголовок і тіло.

Є такі прапори повідомлень:

· \Seen - прочитано

· \Answered - написана відповідь

· \Flagged - термінове

· \Deleted - позначено для видалення

· \Draft - чернетка

· \Recent - нове повідомлення, воно надійшло до поштової скриньки після закінчення минулого сеансу

Якщо в команді вказані прапори, то вони встановлюються для повідомлення, що додається. У будь-якому випадку для повідомлення встановлюється прапорець \Recent.

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

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

C A003 APPEND збережені повідомлення (\Seen) (247)S + Ready for literal dataC Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)C Від: Fred Foobar C Subject: afternoon meetingC To: [email protected] Message-Id: C C Hello Joe, ви думаєте про те, як 3:30 tomorrow?S A003 OK APPEND completed

Розширення MULTIAPPEND, описане в RFC 3502, дозволяє однією командою додавати до поштової скриньки кілька повідомлень.

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

Видаляє з поштової скриньки всі повідомлення, позначені прапором \DELETED, при цьому поштова скринька не закривається. Відповідь сервера на команду EXPUNGE є звітом про новий стан поштової скриньки.

Пошук повідомлень за критеріями активної поштової скриньки з наступним відображенням результатів у вигляді номера повідомлення.

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

Отримати текст поштового повідомлення. Команда застосовується лише для відображення повідомлень. На відміну від POP3 клієнт IMAP не зберігає копію повідомлення на клієнтському ПК.

Змінює інформацію про повідомлення.

Копіює повідомлення з однієї поштової скриньки до іншої.

Використовується у зв'язці з командами FETCH, COPY, STORE чи SEARCH. За допомогою цієї команди можна використовувати реальні ідентифікаційні номери UID замість послідовності чисел з діапазону номерів повідомлень.

Запит сервера IMAP інформацію про його можливості.

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

19) Network Time Protocol (NTP) - мережевий протоколдля синхронізації внутрішнього годинника комп'ютера з використанням мереж зі змінною латентністю. NTP - один із найстаріших протоколів. NTP розроблений Девідом Л. Міллсом (David L. Mills) з університету Делавера в 1985 році і в даний час продовжує вдосконалюватись. Поточна версія- NTP 4.

NTP використовує ієрархічну систему"годинних рівнів" (stratum). Рівень 1 синхронізований з високоточним годинником, наприклад, з системою GPS, ГЛОНАСС (Єдина Державна шкала часу РФ) чи атомним еталоном часу. Рівень 2 синхронізується з однією з машин рівня 1 і так далі.

Час представляється в системі NTP 64-бітним числом (8 байт), що складається з 32-бітного лічильника секунд і 32-бітного лічильника часток секунди, дозволяючи передавати час в діапазоні 232 секунд, з теоретичною точністю 2 -32 секунди. Оскільки шкала часу NTP повторюється кожні 2 32 секунди (136 років), одержувач повинен хоча б приблизно знати поточний час (з точністю 50 років). Також слід враховувати, що час відраховується з півночі 1 січня 1900, а не з 1970, тому з часу NTP потрібно віднімати майже 70 років (з урахуванням високосних років), щоб коректно поєднати час із Windows або Unix-системами. Найбільш широке застосування протокол NTP знаходить реалізації серверів точного часу. Для досягнення максимальної точності краща постійна робота програмного забезпечення NTP у режимі системної служби. У сімействі операційних систем Microsoft Windows - це служба W32Time (модуль w32time.dll, що виконується в svchost.exe), Linux - сервіс Ntpd.

Що краще: POP3 чи IMAP – це не тільки справа смаку.

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

Разом з тим POP3 досі залишається найпоширенішим протоколом завантаження електронної пошти. Розшифровується абревіатура POP, як Post Office Protocol. Він і працює, як традиційне відділення пошти. Відмінність IMAPвід POP3 полягає в тому, що останній схожий на листоношу, який переносить лист з контори до вас додому. Природно, якщо лист знаходиться у вас, він вже не може бути ні в якому іншому місці.

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

IMAP – це нова технологія. Розшифровується він, як "Internet Message Access Protocol", і, як випливає з назви, лише забезпечує доступ до повідомлень на сервері. Відмінність IMAP від ​​POP3 полягає в тому, що перший протокол спочатку запитує список повідомлень, які зберігаються на поштовому сервері. Після цього ваш поштовий клієнт завантажує локальні копії електронних листів і дозволяє працювати з ними, але самі листи залишаються на сервері, доки ви не видалите їх звідти.

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

Майже всі великі постачальники послуг електронної пошти (Gmail, Yahoo, Hotmail тощо) підтримують цей протокол. Крім того, Microsoft Exchangeє варіантом IMAP. Цей протокол дозволяє легко синхронізувати електронну пошту між смартфоном, планшетом та комп'ютерами. Ви також зможете отримати доступ до своєї кореспонденції за допомогою звичайного інтернет-браузера. Адже листи зберігаються на сервері, а багато постачальників послуг електронної пошти створюють зручний інтерфейсдля веб-доступу.

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

Базується на транспортному протоколі TCP та використовує порт 143.

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

Для надсилання листів зазвичай використовується протокол SMTP , оскільки власна команда відправки протоколу IMAP, звана APPEND, вважається «невдалою» і «небезпечною».

Енциклопедичний YouTube

    1 / 5

    ✪ Principais diferenças entre IMAP e POP3

    ✪ POP3 vs IMAP, який один повинен вибрати? | 123-reg Support

    ✪ REPORTAJE IMAP

    ✪ How To Enable Gmail IMAP Settings

    ✪ What is IMAP and How To Use It | Email Tutorial

    Субтитри

Мета розробки протоколу IMAP

Протокол IMAP є, в основному, альтернативою POP3 із зародковими здібностями з відправки.