Protokół IMAP został wprowadzony w 1986 roku. Wiele rzeczy opisanych w normie nie jest już dziś aktualnych. Na przykład protokół może zwrócić liczbę wierszy litery i sumy kontrolne MD5 - ta funkcjonalność praktycznie nie jest wykorzystywana we współczesnych klientach pocztowych.
Kolejnym problemem jest zużycie ruchu. Dzięki protokołowi IMAP wiadomości e-mail są przechowywane na serwerze i okresowo synchronizowane z klientami lokalnymi. Jeśli z jakiegoś powodu kopia na urządzeniu użytkownika zostanie uszkodzona, całą pocztę należy ponownie zsynchronizować. We współczesnym świecie, kiedy do serwera można podłączyć tysiące urządzeń mobilnych, takie podejście prowadzi do zwiększonego zużycia ruchu i zasobów obliczeniowych.
Trudności pojawiają się nie tylko z samym protokołem, ale także z klientami poczty elektronicznej, którzy z nim współpracują. Od momentu powstania protokół IMAP był wielokrotnie poddawany różnym zmianom - obecna wersja to IMAP4. Jednocześnie istnieje wiele opcjonalnych rozszerzeń - w sieci opublikowane dziewięćdziesiąt RFC z dodatkami. Jednym z najnowszych jest RFC8514wprowadzony w 2019 roku.
Jednocześnie wiele firm oferuje własne, autorskie rozwiązania, które powinny ułatwić pracę z protokołem IMAP lub wręcz go zastąpić: gmail, Outlook, nylas. W rezultacie istniejące programy poczty e-mail obsługują tylko niektóre z dostępnych funkcji. Taka różnorodność prowadzi do segmentacji rynku.
„Co więcej, nowoczesny klient poczty e-mail powinien nie tylko przekazywać wiadomości, ale także móc pracować z kontaktami i synchronizować się z kalendarzem” – mówi Siergiej Belkin, szef rozwoju dostawcy IaaS 1cloud.ru. — Obecnie protokoły stron trzecich, takie jak LDAP, CardDAV и CalDAV. Takie podejście komplikuje konfigurację zapór sieciowych w sieciach korporacyjnych i otwiera nowe wektory cyberataków”.
JMAP został zaprojektowany, aby rozwiązać te problemy. Jest rozwijany przez ekspertów FastMail pod kierunkiem Internet Engineering Task Force (IETF). Protokół działa na bazie HTTPS, wykorzystuje JSON (z tego powodu nadaje się nie tylko do wymiany wiadomości elektronicznych, ale także do rozwiązywania szeregu zadań w chmurze) i upraszcza organizację pracy z pocztą w systemach mobilnych. Oprócz przetwarzania listów JMAP zapewnia także możliwość podłączenia rozszerzeń do pracy z kontaktami i harmonogramu kalendarza.
Funkcje nowego protokołu
JMAP jest protokół bezstanowy (bezstanowy) i nie wymaga stałego połączenia z serwerem pocztowym. Ta funkcja upraszcza pracę w niestabilnych sieciach komórkowych i oszczędza energię baterii w urządzeniach.
Wiadomość e-mail w JMAP jest reprezentowana w formacie struktury JSON. Zawiera wszystkie informacje z wiadomości RFC5322 (Internet Message Format), który może być potrzebny aplikacjom pocztowym. Według twórców takie podejście powinno uprościć tworzenie klientów, ponieważ rozwiązywanie potencjalnych trudności (związanych z MIM, czytanie nagłówków i kodowanie), serwer odpowie.
Klient wykorzystuje API do kontaktu z serwerem. W tym celu generuje uwierzytelnione żądanie POST, którego właściwości są opisane w obiekcie sesji JMAP. Żądanie ma format aplikacji/json i składa się z pojedynczego obiektu żądania JSON. Serwer generuje również jeden obiekt odpowiedzi.
В specyfikacje (pkt 3) autorzy wraz z żądaniem podają następujący przykład:
Pełną specyfikację JMAP z przykładowymi implementacjami można znaleźć pod adresem Oficjalna strona projekt. Autorzy zamieścili tam także opis specyfikacji dot Kontakty JMAP и Kalendarze JMAP — są przeznaczone do pracy z kalendarzami i listami kontaktów. Przez zgodnie z autorów, Kontakty i Kalendarze zostały rozdzielone na osobne dokumenty, aby można je było dalej rozwijać i ujednolicać niezależnie od „rdzenia”. Kody źródłowe dla JMAP - w repozytoria na GitHubie.
/ PxHere /PD
Perspektywy
Pomimo tego, że prace nad standardem nie zostały jeszcze oficjalnie zakończone, jest on już wdrażany w środowiskach produkcyjnych. Na przykład twórcy otwartego serwera pocztowego Cyrus IMAP zaimplementował swoją wersję JMAP. Programiści z FastMail wydany framework serwerowy dla nowego protokołu w Perlu oraz autorzy JMAP zaprezentowali Serwer proxy.
Można się spodziewać, że w przyszłości projektów opartych na JMAP będzie coraz więcej. Przykładowo, istnieje pewne prawdopodobieństwo, że programiści z Open-Xchange, którzy tworzą serwer IMAP dla systemów Linux, przejdą na nowy protokół. Bardzo im odmawiaj IMAP – pytają członkowie społeczności, utworzone wokół narzędzi firmy.
Programiści z IETF i FastMail twierdzą, że coraz więcej użytkowników widzi potrzebę stworzenia nowego, otwartego standardu przesyłania wiadomości. Autorzy JMAP mają nadzieję, że w przyszłości więcej firm zacznie wdrażać ten protokół.