протокол IMAP був представлений у 1986 році. Багато речей, описаних у стандарті, на сьогоднішній день вже не актуальні. Наприклад, протокол вміє повертати кількість рядків листа та контрольні суми MD5 - Ця функціональність у сучасних поштових клієнтах практично не використовується.
Інша проблема пов'язана із споживанням трафіку. У випадку з IMAP електронні листи зберігаються на сервері та періодично синхронізуються з локальними клієнтами. Якщо з якоїсь причини копія на пристрої користувача "псується", доводиться знову синхронізувати всю пошту. У сучасному світі, коли до сервера можуть бути підключені тисячі мобільних пристроїв, такий підхід призводить до підвищеної витрати трафіку та обчислювальних ресурсів.
Складнощі виникають не лише з самим протоколом, а й поштовими клієнтами, які з ним працюють. З моменту створення IMAP багаторазово піддавався різним ревізіям – актуальною версією на сьогоднішній день є IMAP4. При цьому для нього існує безліч опціональних розширень – у мережі опубліковано дев'яносто RFC з додатками. Одним із найсвіжіших є RFC8514, представлений у 2019 році.
При цьому багато компаній пропонують власні пропрієтарні рішення, які мають спростити роботу з IMAP або взагалі замінити його: Gmail, прогноз, Нілас. В результаті виходить так, що існуючі поштові клієнти підтримують лише деякі з усіх функцій. Подібне різноманіття призводить до сегментації ринку.
«Більш того, сучасний поштовий клієнт має не просто пересилати повідомлення, але вміти працювати з контактами та синхронізуватися з календарем, — каже Сергій Бєлкін, начальник відділу розвитку IaaS-провайдера 1cloud.ru. — Сьогодні для цього використовують сторонні протоколи начебто LDAP, CardDAV и CalDAV. Такий підхід ускладнює налаштування файрволів у корпоративних мережах та відкриває нові вектори для кібератак».
Вирішити зазначені проблеми покликаний JMAP. Його розробляють спеціалісти з FastMail під керівництвом Інженерної ради інтернету (IETF). Протокол працює поверх HTTPS, використовує JSON (з цієї причини він підійде не тільки для обміну електронними повідомленнями, але і для вирішення низки завдань у хмарі) та спрощує організацію роботи з поштою в мобільних системах. Крім обробки листів, JMAP також передбачає можливість підключення розширень для роботи з контактами і календарем-планувальником.
Особливості нового протоколу
JMAP є протоколом без збереження стану (stateless) та не вимагає постійного з'єднання з поштовим сервером. Ця особливість полегшує роботу в нестабільних мобільних мережах і дозволяє заощаджувати заряд батареї пристроїв.
Електронний лист JMAP представлений у форматі JSON-структури. Вона містить всю інформацію з повідомлення RFC5322 (Internet Message Format), яка може знадобитися поштовим програмам. За словами розробників, такий підхід має спростити створення клієнтів, оскільки за вирішення потенційних складнощів (пов'язаних з MIME, читанням заголовків та кодуванням) буде відповідати сервер.
Для звернення до сервера клієнт використовує API. Для цього він формує автентифікований POST-запит, властивості якого описані у сесійному об'єкті JMAP. Запит має формат application/json та складається з одного об'єкта запиту JSON. Сервер також створює один об'єкт відповіді.
В специфікації (пункт 3) автори наводять наступний приклад із запитом:
Повну специфікацію JMAP з прикладами реалізації можна знайти на офіційному сайті проекту. Там же автори розмістили опис специфікацій для JMAP Contacts и JMAP Calendars — вони спрямовані на роботу з календарями та списками контактів. за словами авторів, Contacts та Calendars виділили в окремі документи, щоб їх можна було доопрацьовувати та стандартизувати незалежно від «ядра». Вихідні коди для JMAP - в репозиторії на GitHub.
/ PxТут / PD
Перспективи
Незважаючи на те, що офіційно роботу над стандартом ще не завершено, його вже впроваджують у продакшн-середовищах. Наприклад, творці відкритого поштового сервера Cyrus IMAP реалізували його JMAP-версію. Розробники з FastMail випустили серверний фреймворк для нового протоколу Perl, а автори JMAP представили проксі-сервер.
Очікується, що в майбутньому проектів на базі JMAP ставатиме дедалі більше. Наприклад, є певна ймовірність, що на новий протокол перейдуть розробники із Open-Xchange, які створюють IMAP-сервер для Linux-систем. Відмовитися від IMAP їх дуже просять учасники ком'юніті, що сформувався навколо інструментів компанії.
Розробники з IETF і FastMail говорять, що все більше користувачів бачать необхідність нового відкритого стандарту для обміну повідомленнями. Автори JMAP сподіваються, що в майбутньому більше компаній почне впроваджувати цей протокол.