protocol IMAP был представлен в 1986 году. Многие вещи, описанные в стандарте, на сегодняшний день уже не актуальны. Например, протокол умеет возвращать количество строк письма и контрольные суммы MD5 — эта функциональность в современных почтовых клиентах практически не используется.
O altă problemă este legată de consumul de trafic. Cu IMAP, e-mailurile sunt stocate pe server și sincronizate periodic cu clienții locali. Dacă dintr-un motiv oarecare copia de pe dispozitivul utilizatorului este coruptă, toate e-mailurile trebuie să fie sincronizate din nou. În lumea modernă, când mii de dispozitive mobile pot fi conectate la server, această abordare duce la un consum crescut de trafic și resurse de calcul.
Сложности возникают не только с самим протоколом, но и почтовыми клиентами, которые с ним работают. С момента создания IMAP многократно подвергался различным ревизиям — актуальной версией на сегодняшний день является IMAP4. При этом для него существует множество опциональных расширений — в сети publicat nouăzeci de RFC-uri cu adăugiri. Una dintre cele mai recente este RFC8514, introdus în 2019.
При этом многие компании предлагают собственные проприетарные решения, которые должны упростить работу с IMAP или вообще заменить его: Gmail, Perspectivă, nylas. В результате получается так, что существующие почтовые клиенты поддерживают лишь некоторые из всех имеющихся функций. Подобное многообразие приводит к сегментации рынка.
«Более того, современный почтовый клиент должен не просто пересылать сообщения, но уметь работать с контактами и синхронизироваться с календарем, — говорит Сергей Белкин, начальник отдела развития IaaS-провайдера 1cloud.ru. — Сегодня для этих целей используют сторонние протоколы вроде LDAP, CardDAV и CalDAV. Такой подход усложняет настройку файрволов в корпоративных сетях и открывает новые векторы для кибератак».
JMAP este conceput pentru a rezolva aceste probleme. Este dezvoltat de experții FastMail sub îndrumarea Internet Engineering Task Force (IETF). Protocolul rulează pe HTTPS, folosește JSON (din acest motiv este potrivit nu numai pentru schimbul de mesaje electronice, ci și pentru rezolvarea unui număr de sarcini în cloud) și simplifică organizarea lucrului cu e-mailul în sistemele mobile. Pe lângă procesarea scrisorilor, JMAP oferă și posibilitatea de a conecta extensii pentru a lucra cu contacte și un planificator de calendar.
Caracteristicile noului protocol
JMAP este protocol apatrid (stateless) и не требует постоянного соединения с почтовым сервером. Эта особенность упрощает работу в нестабильных мобильных сетях и позволяет экономить заряд батареи устройств.
Электронное письмо в JMAP представлено в формате JSON-структуры. Она содержит всю информацию из сообщения RFC5322 (Internet Message Format), которая может понадобиться почтовым приложениям. По словам разработчиков, такой подход должен упростить создание клиентов, так как за решение потенциальных сложностей (связанных с MIMA, citirea antetelor și codificarea) serverul va răspunde.
Для обращения к серверу клиент использует API. Для этого он формирует аутентифицированный POST-запрос, свойства которого описаны в сессионном объекте JMAP. Запрос имеет формат application/json и состоит из одного объекта запроса JSON. Сервер также генерирует один объект ответа.
В specificații (punctul 3) autorii furnizează următorul exemplu cu o solicitare:
Specificația completă JMAP cu exemple de implementare poate fi găsită la site-ul oficial проекта. Там же авторы разместили описание спецификаций для Contacte JMAP и Calendare JMAP — au ca scop lucrul cu calendare și liste de contacte. De conform авторов, Contacts и Calendars выделили в отдельные документы, чтобы их можно было дорабатывать и стандартизировать независимо от «ядра». Исходные коды для JMAP — в depozite pe GitHub.
/ PxAici /PD
Perspective
Несмотря на то что официально работа над стандартом еще не завершена, его уже внедряют в продакшн-средах. Например, создатели открытого почтового сервера Cyrus IMAP a implementat versiunea sa JMAP. Dezvoltatori de la FastMail eliberată cadru de server pentru noul protocol în Perl, și autorii JMAP au prezentat server proxy.
Можно ожидать, что в будущем проектов на базе JMAP будет становиться все больше. Например, есть некоторая вероятность, что на новый протокол перейдут разработчики из Open-Xchange, создающие IMAP-сервер для Linux-систем. Отказаться от IMAP их очень întreabă membrii comunității, сформировавшегося вокруг инструментов компании.
Разработчики из IETF и FastMail говорят, что все больше пользователей видят необходимость в новом открытом стандарте для обмена сообщениями. Авторы JMAP надеются, что в будущем больше компаний начнет внедрять у себя этот протокол.