IMAP (англ. Internet Message Access Protocol — «Протокол доступу до інтернет-повідомлень») — мережевий протокол прикладного рівня для доступу до електронної пошти.
Аналогічно до POP3, служить для роботи з вхідними листами, однак забезпечує додаткові функції, зокрема, можливість пошуку за ключовим словом без збереження пошти в локальній пам'яті.
IMAP надає користувачеві великі можливості для роботи з поштовими скриньками, розташованими на центральному сервері. Поштовий клієнт, що використовує цей протокол, отримує доступ до сховища кореспонденції на сервер так, начебто ця кореспонденція розташована на комп'ютері одержувача. Електронними листами можна маніпулювати з комп'ютера користувача (клієнта) без постійного пересилання з сервера і назад файлів з повним змістом листів. Для відправки листів використовується протокол SMTP.
Переваги в порівнянні з POP3
IMAP був розроблений для заміни простішого протоколу POP3 і має такі переваги в порівнянні з останнім:
- Листи зберігаються на сервері, а не на машині клієнта. Можливий доступ до одної і тої ж поштової скриньки з різних клієнтів. Підтримується також одночасний доступ декількох клієнтів. У протоколі є механізми, за допомогою яких клієнт може бути проінформований про зміни, зроблені іншими клієнтами.
- Підтримка декількох поштових скриньок (або тек). Клієнт може створювати, вилучати і перейменовувати поштові скриньки на сервері, а також переміщати листи з одної поштової скриньки в інші.
- Можливе створення спільних папок, до яких можуть мати доступ декілька користувачів.
- Інформація про стан листів зберігається на сервері і доступна всім клієнтам. Листи можуть бути позначені як прочитані, важливі тощо
- Підтримка пошуку на сервері. Немає необхідності завантажувати з сервера безліч повідомлень для того, щоб знайти одне потрібне.
- Підтримка онлайн-роботи. Клієнт може підтримувати з сервером постійне з'єднання, при цьому сервер у реальному часі інформує клієнта про зміни в поштових скриньках, у тому числі про нові листи.
- Передбачено механізм розширення можливостей протоколу.
Поточна версія протоколу має позначення IMAP4rev1 (IMAP, версія 4, ревізія 1). Протокол підтримує передачу пароля користувача в зашифрованому вигляді. Крім того, IMAP-трафік можна зашифрувати за допомогою SSL.
Відмінності між POP3 та IMAP
- отримані листи зберігаються на сервері
- надіслані повідомлення зберігаються на сервері
- повідомлення можна синхронізувати та отримати доступ до них на кількох пристроях
POP3
- електронні листи зберігаються на одному пристрої
- надіслані повідомлення зберігаються на одному пристрої
- до листів можна отримати доступ лише з одного пристрою
- щоб зберігати повідомлення на сервері, необхідно увімкнути параметр «Зберігати електронну пошту на сервері», інакше всі повідомлення буде видалені з сервера після завантаження їх додатком.
Версії протоколу IMAP
Повідомлення та їх атрибути
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 протокол за замовчуванням працює через порт 143 TCP. IMAP через SSL/TLS (IMAPS) працює через 993 порт TCP.
Стани сервера IMAP
Сервер IMAP 4.1 знаходиться в одному з чотирьох станів.
Більшість команд можна використовувати лише в певних станах.
У стані без аутентифікації клієнт повинен надати ім'я і пароль, перш ніж йому стане доступна більшість команд. Перехід в цей стан виробляється при встановленні з'єднання без попередньої аутентифікації.
У стані аутентифікації клієнт ідентифікований і повинен вибрати поштову скриньку, після чого йому стануть доступні команди для роботи з повідомленнями. Перехід в цей стан відбувається при встановленні з'єднання з попередньою аутентифікацією, коли видані всі необхідні ідентифікаційні дані або при помилковому виборі поштової скриньки.
У стан вибору система потрапляє, коли успішно здійснений вибір поштової скриньки.
У стан виходу система потрапляє при перериванні з'єднання в результаті запиту клієнта або внаслідок незалежного рішення сервера.
- З'єднання без попередньої аутентифікації
- З'єднання з попередньою аутентифікацією
- З'єднання відкинуто
- Успішне завершення команди
LOGIN
абоAUTHENTICATE
- Успішне завершення команди
SELECT
абоEXAMINE
- Виконання команди
CLOSE
або невдала командаSELECT
абоEXAMINE
- Виконання команди
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 saved-messages (\ Seen) {247} S + Ready for literal data C Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) C From: Fred Foobar <foobar@Blurdybloop.COM> C Subject: afternoon meeting C To: mooch@owatagu.siam.edu C Message-Id: <B27397-0100000@Blurdybloop.COM> 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
цілком можна використовувати як тригер для періодичного запиту про стан сервера.
Примітки
- . Mailbird. 24 липня 2020. Архів оригіналу за 24 вересня 2020. Процитовано 4 серпня 2020.
- . https://help.aol.com/ (амер.). Архів оригіналу за 26 вересня 2020. Процитовано 4 серпня 2020.
Посилання
- RFC 3501 Internet Message Access Protocol v4rev1 (англ.)
- (англ.) (Вашингтонський університет, штат Вашингтон, США)
- Howto: Configuring KMail with Gmail — IMAP and Disconnected IMAP[ 4 червня 2011 у Wayback Machine.](англ.)
- Network ports for clients and mail flow in Exchange
Ця стаття потребує додаткових для поліпшення її . (вересень 2015) |
Це незавершена стаття про Інтернет. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
IMAP angl Internet Message Access Protocol Protokol dostupu do internet povidomlen merezhevij protokol prikladnogo rivnya dlya dostupu do elektronnoyi poshti Analogichno do POP3 sluzhit dlya roboti z vhidnimi listami odnak zabezpechuye dodatkovi funkciyi zokrema mozhlivist poshuku za klyuchovim slovom bez zberezhennya poshti v lokalnij pam yati IMAP nadaye koristuvachevi veliki mozhlivosti dlya roboti z poshtovimi skrinkami roztashovanimi na centralnomu serveri Poshtovij kliyent sho vikoristovuye cej protokol otrimuye dostup do shovisha korespondenciyi na server tak nachebto cya korespondenciya roztashovana na komp yuteri oderzhuvacha Elektronnimi listami mozhna manipulyuvati z komp yutera koristuvacha kliyenta bez postijnogo peresilannya z servera i nazad fajliv z povnim zmistom listiv Dlya vidpravki listiv vikoristovuyetsya protokol SMTP Perevagi v porivnyanni z POP3IMAP buv rozroblenij dlya zamini prostishogo protokolu POP3 i maye taki perevagi v porivnyanni z ostannim Listi zberigayutsya na serveri a ne na mashini kliyenta Mozhlivij dostup do odnoyi i toyi zh poshtovoyi skrinki z riznih kliyentiv Pidtrimuyetsya takozh odnochasnij dostup dekilkoh kliyentiv U protokoli ye mehanizmi za dopomogoyu yakih kliyent mozhe buti proinformovanij pro zmini zrobleni inshimi kliyentami Pidtrimka dekilkoh poshtovih skrinok abo tek Kliyent mozhe stvoryuvati viluchati i perejmenovuvati poshtovi skrinki na serveri a takozh peremishati listi z odnoyi poshtovoyi skrinki v inshi Mozhlive stvorennya spilnih papok do yakih mozhut mati dostup dekilka koristuvachiv Informaciya pro stan listiv zberigayetsya na serveri i dostupna vsim kliyentam Listi mozhut buti poznacheni yak prochitani vazhlivi tosho Pidtrimka poshuku na serveri Nemaye neobhidnosti zavantazhuvati z servera bezlich povidomlen dlya togo shob znajti odne potribne Pidtrimka onlajn roboti Kliyent mozhe pidtrimuvati z serverom postijne z yednannya pri comu server u realnomu chasi informuye kliyenta pro zmini v poshtovih skrinkah u tomu chisli pro novi listi Peredbacheno mehanizm rozshirennya mozhlivostej protokolu Potochna versiya protokolu maye poznachennya IMAP4rev1 IMAP versiya 4 reviziya 1 Protokol pidtrimuye peredachu parolya koristuvacha v zashifrovanomu viglyadi Krim togo IMAP trafik mozhna zashifruvati za dopomogoyu SSL Vidminnosti mizh POP3 ta IMAP IMAP otrimani listi zberigayutsya na serveri nadislani povidomlennya zberigayutsya na serveri povidomlennya mozhna sinhronizuvati ta otrimati dostup do nih na kilkoh pristroyah POP3 elektronni listi zberigayutsya na odnomu pristroyi nadislani povidomlennya zberigayutsya na odnomu pristroyi do listiv mozhna otrimati dostup lishe z odnogo pristroyu shob zberigati povidomlennya na serveri neobhidno uvimknuti parametr Zberigati elektronnu poshtu na serveri inakshe vsi povidomlennya bude vidaleni z servera pislya zavantazhennya yih dodatkom Versiyi protokolu IMAPOriginal IMAP 1986 specifikaciya vidsutnya IMAP2 1988 RFC 1064 1990 RFC 1176 IMAP3 1991 RFC 1203 IMAP2bis specifikaciya isnuye tilki v chornovomu varianti 1993 roku IMAP4 perejmenovanij IMAP2bis 1994 RFC 1730 IMAP4rev1 1996 RFC 2060 2003 RFC 3501 Povidomlennya ta yih atributiIMAP pracyuye tilki z povidomlennyami i ne vimagaye yakih nebud paketiv zi specialnimi zagolovkami Kozhne povidomlennya maye kilka pov yazanih iz nim atributiv Ci atributi mozhut buti viznacheni individualno abo spilno z inshimi atributami UID Kozhnomu povidomlennyu stavitsya u vidpovidnist 32 bitovij kod yakij pri vikoristanni spilno z unikalnim identifikatorom utvoryuye 64 bitovu poslidovnist yaka garantuvatime odnoznachnu identifikaciyu povidomlennya v poshtovij skrinci Chim piznishe povidomlennya prijshlo tim bilshe jogo UID UID asociyuyetsya z poshtovoyu skrinkoyu i nadsilayetsya u viglyadi kodu uidvalidity vidguku ok na fazi viboru poshtovoyi skrinki Yaksho UID z poperednoyi sesiyi z yakoyis prichini ne mozhe buti vikoristanij UID povinen buti inkrementorovanij UID povidomlennya ne povinno zminyuvatisya v mezhah sesiyi jogo ne slid zminyuvati i vid sesiyi do sesiyi Odnak yaksho nemozhlivo zberegti UID povidomlennya v podalshij sesiyi kozhna nastupna sesiya povinna mati novij unikalnij kod identifikatora yakij povinen buti bilshe nizh bud yakij UID vikoristanij ranishe Poryadkovij nomer povidomlennya Poryadkovij nomer povidomlennya v poshtovij skrinci pochinayetsya z 1 Kozhne povidomlennya pochinayuchi z drugogo maye poryadkovij nomer rivno na 1 bilshe nizh poperednye jomu Protyagom sesiyi dopustimo zmina poryadkovogo nomera povidomlennya Napriklad koli povidomlennya bude vidalene z poshtovoyi skrinki nomeri usih nastupnih povidomlen zminyuyutsya Prapori povidomlennya Cej atribut yavlyaye soboyu spisok z nulya abo bilshe imenovanih leksem spivvidnesenih z danim povidomlennyam Prapor vstanovlyuyetsya shlyahom jogo dodavannya do cogo spisku i obnulyayetsya shlyahom jogo vidalennya V IMAP 4 1 isnuye dva tipi praporiv Prapor mozhe buti postijnim abo chinnim lishe na chas danoyi sesiyi Sistemnim praporom ye prapor im ya yakogo viznacheno v specifikaciyi protokolu Vsi sistemni prapori pochinayutsya z simvolu V danij chas viznacheni nastupni sistemni prapori Seen povidomlennya prochitane Answered na povidomlennya vidpravlena vidpovid Flagged povidomlennya vidznachene yak vazhlive Deleted povidomlennya vidznachene yak viluchene Draft povidomlennya vidznachene yak chernetku Recent neshodavnye povidomlennya vpershe z yavilosya v yashiku v hodi potochnoyi sesiyi Vnutrishni data i chas povidomlennya na serveri Data i chas povidomlennya zalezhat vid specifiki jogo dostavki Protokol SMTP chas dostavki kincevomu adresatu Komanda kopiyuvannya vnutrishnij chas vidpravnika Komanda append chas zadanij parametrami komandi Inshi atributi Rozmir povidomlennya chislo oktetiv u povidomlenni Struktura konverta povidomlennya Struktura tila povidomlennya Vzayemodiya kliyenta i serveraZ yednannya IMAP 4 1 na uvazi vstanovlennya zv yazku mizh kliyentom i serverom Kliyent posilaye serveru komandi server kliyentovi dani ta povidomlennya pro status vikonannya zapitu Vsi povidomlennya yak kliyenta tak i servera mayut formu ryadkiv sho zavershuyutsya specialnoyu poslidovnistyu Bud yaka procedura pochinayetsya z komandi kliyenta Bud yaka komanda kliyenta pochinayetsya z prefiksa identifikatora zazvichaj korotkij literno cifrovij ryadok napriklad A0001 A0002 tosho zvanogo mitkoyu tag Dlya kozhnoyi komandi kliyent generuye svoyu mitku Mozhlivi dva vipadki koli ryadok vidpravlenij kliyentom ne ye zakinchenoyu komandoyu U pershomu argument komandi zabezpechuyetsya kodom sho viznachaye chislo oktetiv v ryadku U drugomu argumenti komandi vimagayut vidguku z boku servera V oboh vipadkah server posilaye zapit prodovzhennya komandi sho pochinayetsya z simvolu Kliyent povinen zavershiti vidpravku odniyeyi komandi persh nizh vidpraviti inshu Protokolnij prijmach servera chitaye ryadok komandi sho prijshla vid kliyenta zdijsnyuye yiyi rozbir vidilyaye parametri i peredaye serveru dani Po zavershenni komandi server posilaye vidguk Dani sho peredayutsya serverom kliyentovi a takozh statusni vidguki yaki ne vkazuyut na zavershennya vikonannya komandi mayut prefiks i nazivayutsya Nepomichenimi vidgukami Dani mozhut buti vidpravleni serverom u vidpovid na komandu kliyenta abo za vlasnoyu iniciativoyu Format danih ne zalezhit vid prichini vidpravki Vidguk vkazuye na vdale nevdale vikonannya operaciyi Vin vikoristovuye tu zh mitku sho i komanda kliyenta zapustivshi proceduru Takim chinom yaksho zdijsnyuyetsya bilsh nizh odna komanda mitka servera vkazuye na komandu yaka viklikala danij vidguk Ye tri vidi vidguku zavershennya servera ok uspishne vikonannya no nevdacha bad protokolna pomilka napriklad ne rozpiznana komanda abo zafiksovana sintaksichna pomilka Protokolnij prijmach kliyenta IMAP 4 1 chitaye ryadok vidguku vid servera i vzhivaye diyi zgidno z pershim simvolom abo Kliyent povinen buti gotovij prijnyati bud yakij vidguk servera v bud yakij chas Dani servera povinni buti zapisani tak shob kliyent mig yih bezposeredno vikoristovuvati ne posilayuchi serveru utochnyuyuchih zapitiv IMAP protokol za zamovchuvannyam pracyuye cherez port 143 TCP IMAP cherez SSL TLS IMAPS pracyuye cherez 993 port TCP Stani servera IMAPServer IMAP 4 1 znahoditsya v odnomu z chotiroh staniv Bilshist komand mozhna vikoristovuvati lishe v pevnih stanah U stani bez autentifikaciyi kliyent povinen nadati im ya i parol persh nizh jomu stane dostupna bilshist komand Perehid v cej stan viroblyayetsya pri vstanovlenni z yednannya bez poperednoyi autentifikaciyi U stani autentifikaciyi kliyent identifikovanij i povinen vibrati poshtovu skrinku pislya chogo jomu stanut dostupni komandi dlya roboti z povidomlennyami Perehid v cej stan vidbuvayetsya pri vstanovlenni z yednannya z poperednoyu autentifikaciyeyu koli vidani vsi neobhidni identifikacijni dani abo pri pomilkovomu vibori poshtovoyi skrinki U stan viboru sistema potraplyaye koli uspishno zdijsnenij vibir poshtovoyi skrinki U stan vihodu sistema potraplyaye pri pererivanni z yednannya v rezultati zapitu kliyenta abo vnaslidok nezalezhnogo rishennya servera Z yednannya bez poperednoyi autentifikaciyi Z yednannya z poperednoyu autentifikaciyeyu Z yednannya vidkinuto Uspishne zavershennya komandi LOGIN abo AUTHENTICATE Uspishne zavershennya komandi SELECT abo EXAMINE Vikonannya komandi CLOSE abo nevdala komanda SELECT abo EXAMINE Vikonannya komandi LOGOUT zakrittya servera abo pererivannya z yednannyaKomandi protokolu IMAPLOGIN Dozvolyaye kliyentu pri reyestraciyi na serveri IMAP vikoristovuvati identifikator koristuvacha ta parol u zvichajnomu tekstovomu viglyadi Ce ne najkrashij metod ale inodi ce yedina mozhlivist pidklyuchitisya do servera AUTHENTICATE Dozvolyaye kliyentu vikoristovuvati pri reyestraciyi na serveri IMAP alternativni metodi perevirki avtentichnosti Individualna perevirka spravzhnosti koristuvachiv ne ye obov yazkovoyu i pidtrimuyetsya ne vsima serverami IMAP Do togo zh realizaciyi takoyi perevirki mozhut rozriznyatisya zalezhno vid servera Koli kliyent vidaye komandu AUTHENTICATE server vidpovidaye na neyi ryadkom vikliku v koduvanni base64 Dali kliyent povinen vidpraviti vidpovid na viklik servera pro perevirku spravzhnosti takozh zakodovanij base64 Yaksho na serveri ne pidtrimuyetsya metod perevirki avtentichnosti zaproponovanij kliyentom vin vklyuchaye v svoyu vidpovid slovo NO Pislya cogo kliyent povinen prodovzhiti peregovori z uzgodzhennya metodu perevirki avtentichnosti Yaksho vsi sprobi viznachiti metod perevirki avtentichnosti zaznali nevdachi to kliyent robit sprobu zareyestruvatisya na serveri dopomogoyu komandi LOGIN CLOSE Zakrivaye poshtovu skrinku Koli poshtova skrinka zakritij to vsi povidomlennya pomicheni praporom DELETED fizichno vidalyayutsya z nogo Ne maye parametriv LOGOUT Zavershuye seans dlya potochnogo identifikatora koristuvacha i zakrivaye vsi vidkriti poshtovi skrinki Yaksho yaki nebud povidomlennya buli pomicheni praporom deleted to za dopomogoyu ciyeyi komandi voni budut fizichno vidaleni z poshtovoyi skrinki CREATE Stvoryuye novij poshtovu skrinku Im ya ta misce roztashuvannya novih poshtovih skrinok viznachayutsya vidpovidno do zagalnih specifikaciyami servera DELETE Zastosovuyetsya do poshtovih skrinok Server IMAP pri otrimanni ciyeyi komandi sprobuye vidaliti poshtovu skrinku z im yam zaznachenim yak argument komandi Povidomlennya vidalyayutsya razom z yashikami i vidnovlennyu ne pidlyagayut RENAME Zminyuye im ya poshtovoyi skrinki Cya komanda maye dva parametri im ya poshtovoyi skrinki yakij potribno perejmenuvati i nove im ya poshtovoyi skrinki SUBSCRIBE Dodaye poshtovu skrinku v spisok aktivnih yashikiv kliyenta V cej komandi vikoristovuyetsya tilki odin parametr im ya poshtovoyi skrinki yakij potribno vnesti v spisok Poshtova skrinka ne obov yazkovo povinen isnuvati shob jogo mozhna bulo dodati do spisku aktivnih yashikiv ce dozvolyaye dodavati v spisok aktivnih yashikiv yashiki yaki she ne stvoreni abo vidalyati yih yaksho voni porozhni UNSUBSCRIBE Vidalyaye poshtovi skrinki zi spisku aktivnih U nij tak samo vikoristovuyetsya odin parametr im ya poshtovoyi skrinki yakij vidalyayetsya zi spisku aktivnih yashikiv kliyenta Pri comu sam po sobi poshtovu skrinku ne vidalyayetsya LIST Otrimati spisok vsih poshtovih skrinok kliyenta maye dva parametri LSUB Na vidminu vid komandi LIST vikoristovuyetsya dlya otrimannya spisku yashikiv aktivizovanih komandoyu SUBSCRIBE Parametri taki zh yak u LIST STATUS Formuye zapit pro potochnij stan poshtovoyi skrinki Pershim parametrom dlya ciyeyi komandi ye im ya poshtovoyi skrinki do yakogo vona zastosovuyetsya Drugij parametr ce spisok kriteriyiv za yakimi kliyent hoche otrimati informaciyu Komanda STATUS mozhe vikoristovuvatisya dlya otrimannya informaciyi pro stan poshtovoyi skrinki bez jogo vidkrittya za dopomogoyu komand SELECT abo EXAMINE Koristuvach mozhe oderzhati informaciyu za kriteriyami MESSAGES zagalne chislo povidomlen v poshtovij skrinci RECENT chislo povidomlen z praporom recent UIDNEXT identifikator UID yakij bude priznachenij novim povidomlennyam UIDVALIDITY unikalnij identifikator poshtovoyi skrinki UNSEEN chislo povidomlen bez prapora seen APPEND Dodaye povidomlennya v kinec vkazanogo poshtovoyi skrinki Yak argumenti ukazuyutsya im ya yashika prapori povidomlennya ne obov yazkovo mitka chasu ne obov yazkovo i same povidomlennya zagolovok i tilo Ye nastupni prapori povidomlen Seen prochitano Answered napisana vidpovid Flagged terminove Deleted poznacheno dlya vidalennya Draft chernetka Recent nove povidomlennya vono nadijshlo u poshtovu skrinku pislya zakinchennya minulogo seansu Yaksho v komandi vkazani prapori to voni vstanovlyuyutsya dlya dodanogo povidomlennya U bud yakomu vipadku dlya povidomlennya vstanovlyuyetsya prapor Recent Yaksho v komandi zadana mitka chasu to cej chas bude vstanovleno yak chas stvorennya povidomlennya v inshomu vipadku za chas stvorennya beretsya potochnij chas Oskilki povidomlennya skladayetsya ne z odnogo ryadka vikoristovuyutsya literali Priklad C A003 APPEND saved messages Seen 247 S Ready for literal data C Date Mon 7 Feb 1994 21 52 25 0800 PST C From Fred Foobar lt foobar Blurdybloop COM gt C Subject afternoon meeting C To mooch owatagu siam edu C Message Id lt B27397 0100000 Blurdybloop COM gt C C Hello Joe do you think we can meet at 3 30 tomorrow S A003 OK APPEND completed Rozshirennya MULTIAPPEND opisane v RFC 3502 dozvolyaye odniyeyu komandoyu dodavati v poshtovu skrinku kilka povidomlen CHECK Vstanovlyuye kontrolnu tochku v poshtovij skrinci Bud yaki operaciyi taki napriklad yak zapis danih z pam yati servera na jogo zhorstkij disk povinni vikonuvatisya pri vidpovidnomu stani poshtovoyi skrinki Same dlya perevirki cilisnosti poshtovoyi skrinki pislya diskovih ta inshih podibnih yim operacij i zastosovuyetsya komanda CHECK Cya komanda vikoristovuyetsya bez parametriv EXPUNGE Vidalyaye z poshtovoyi skrinki vsi povidomlennya pomicheni praporom DELETED pri comu poshtova skrinka ne zakrivayetsya Vidpovid servera na komandu EXPUNGE yavlyaye soboyu zvit pro novij stan poshtovoyi skrinki SEARCH Poshuk povidomlen za kriteriyami v aktivnomu poshtovij skrinci z podalshim vidobrazhennyam rezultativ u viglyadi nomera povidomlennya Mozhlivij poshuk povidomlen v tili yakih ye pevna tekstovij ryadok abo mayut pevnij prapor abo otrimanih do pevnoyi dati i t d FETCH Otrimati tekst poshtovogo povidomlennya Komanda zastosovuyetsya tilki dlya vidobrazhennya povidomlen Na vidminu vid POP3 kliyent IMAP ne zberigaye kopiyu povidomlennya na kliyentskomu PK STORE Zminyuye informaciyu pro povidomlennya COPY Kopiyuye povidomlennya z odniyeyi poshtovoyi skrinki v inshij UID Vikoristovuyetsya v zv yazci z komandami FETCH COPY STORE abo SEARCH Z yiyi dopomogoyu v cih komandah mozhna vikoristovuvati realni identifikacijni nomeri UID zamist poslidovnosti chisel z diapazonu nomeriv povidomlen CAPABILITY Zapit u servera IMAP informaciyu pro jogo mozhlivosti NOOP Komanda nichogo ne robit Vona mozhe zastosovuvatisya dlya pidtrimki aktivnosti pid chas seansu dlya togo shob seans ne pripinivsya po tajmeru intervalu ochikuvannya Vidpovid servera na komandu NOOP zavzhdi povinen buti pozitivnim Tak yak server chasto u vidpovidi povertaye stan vikonannya tiyeyi chi inshoyi komandi to NOOP cilkom mozhna vikoristovuvati yak triger dlya periodichnogo zapitu pro stan servera Primitki Mailbird 24 lipnya 2020 Arhiv originalu za 24 veresnya 2020 Procitovano 4 serpnya 2020 https help aol com amer Arhiv originalu za 26 veresnya 2020 Procitovano 4 serpnya 2020 PosilannyaRFC 3501 Internet Message Access Protocol v4rev1 angl angl Vashingtonskij universitet shtat Vashington SShA Howto Configuring KMail with Gmail IMAP and Disconnected IMAP 4 chervnya 2011 u Wayback Machine angl Network ports for clients and mail flow in Exchange Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno veresen 2015 Ce nezavershena stattya pro Internet Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi