JMAP: un protocol obert que substituirà IMAP en intercanviar correus electrònics

A principis d'aquest mes a Hacker News es va discutir activament Protocol JMAP desenvolupat sota la direcció de l'IETF. Vam decidir parlar de per què era necessari i com funciona.

JMAP: un protocol obert que substituirà IMAP en intercanviar correus electrònics
/ PxAquí /PD

El que no m'agradava d'IMAP

Protocol IMAP es va presentar l'any 1986. Moltes coses descrites a la norma ja no són rellevants avui dia. Per exemple, el protocol pot retornar el nombre de línies d'una carta i sumes de control MD5 - aquesta funcionalitat pràcticament no s'utilitza als clients de correu electrònic moderns.

Un altre problema està relacionat amb el consum de trànsit. Amb IMAP, els correus electrònics s'emmagatzemen al servidor i es sincronitzen periòdicament amb els clients locals. Si per algun motiu la còpia al dispositiu de l'usuari es corromp, tot el correu s'ha de tornar a sincronitzar. En el món modern, quan milers de dispositius mòbils es poden connectar al servidor, aquest enfocament comporta un major consum de trànsit i recursos informàtics.

Les dificultats sorgeixen no només amb el protocol en si, sinó també amb els clients de correu electrònic que hi treballen. Des de la seva creació, IMAP ha estat subjecte a diverses revisions moltes vegades; la versió actual actual és IMAP4. Al mateix temps, hi ha moltes extensions opcionals per a això, a la xarxa publicat noranta RFC amb addicions. Un dels més recents és RFC8514, presentat el 2019.

Al mateix temps, moltes empreses ofereixen les seves pròpies solucions patentades que haurien de simplificar el treball amb IMAP o fins i tot substituir-lo: Gmail, Outlook, Nylas. El resultat és que els clients de correu electrònic existents només admeten algunes de les funcions disponibles. Aquesta diversitat condueix a la segmentació del mercat.

"A més, un client de correu electrònic modern no només hauria de reenviar missatges, sinó que també hauria de poder treballar amb contactes i sincronitzar-se amb el calendari", diu Sergei Belkin, cap de desenvolupament del proveïdor d'IaaS. 1cloud.ru. — Avui, protocols de tercers com LDAP, CardDAV и CalDAV. Aquest enfocament complica la configuració dels tallafocs a les xarxes corporatives i obre nous vectors per als ciberatacs".

JMAP està dissenyat per resoldre aquests problemes. Està desenvolupat per experts de FastMail sota la direcció de l'Internet Engineering Task Force (IETF). El protocol s'executa sobre HTTPS, utilitza JSON (per aquest motiu és adequat no només per intercanviar missatges electrònics, sinó també per resoldre una sèrie de tasques al núvol) i simplifica l'organització del treball amb correu en sistemes mòbils. A més de processar cartes, JMAP també ofereix la possibilitat de connectar extensions per treballar amb contactes i un programador de calendari.

Característiques del nou protocol

JMAP és protocol sense estat (sense estat) i no requereix una connexió permanent al servidor de correu. Aquesta funció simplifica el treball en xarxes mòbils inestables i estalvia la bateria dels dispositius.

Un correu electrònic en JMAP es representa en un format d'estructura JSON. Conté tota la informació del missatge RFC5322 (Format de missatge d'Internet), que poden ser necessaris per les aplicacions de correu electrònic. Segons els desenvolupadors, aquest enfocament hauria de simplificar la creació de clients, ja que resoldrà possibles dificultats (associades a Mímica, llegint les capçaleres i la codificació) el servidor respondrà.

El client utilitza l'API per contactar amb el servidor. Per fer-ho, genera una sol·licitud POST autenticada, les propietats de la qual es descriuen a l'objecte de sessió JMAP. La sol·licitud està en format aplicació/json i consta d'un sol objecte de sol·licitud JSON. El servidor també genera un objecte de resposta.

В especificacions (punt 3) els autors proporcionen l'exemple següent amb una sol·licitud:

{
  "using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ],
  "methodCalls": [
    [ "method1", {
      "arg1": "arg1data",
      "arg2": "arg2data"
    }, "c1" ],
    [ "method2", {
      "arg1": "arg1data"
    }, "c2" ],
    [ "method3", {}, "c3" ]
  ]
}

A continuació es mostra un exemple de la resposta que generarà el servidor:

{
  "methodResponses": [
    [ "method1", {
      "arg1": 3,
      "arg2": "foo"
    }, "c1" ],
    [ "method2", {
      "isBlah": true
    }, "c2" ],
    [ "anotherResponseFromMethod2", {
      "data": 10,
      "yetmoredata": "Hello"
    }, "c2"],
    [ "error", {
      "type":"unknownMethod"
    }, "c3" ]
  ],
  "sessionState": "75128aab4b1b"
}

L'especificació JMAP completa amb exemples d'implementació es pot trobar a lloc web oficial projecte. Allà, els autors també van publicar una descripció de les especificacions Contactes JMAP и Calendaris JMAP — estan orientats a treballar amb calendaris i llistes de contactes. Per segons autors, contactes i calendaris es van separar en documents separats per tal que es poguessin desenvolupar i estandarditzar encara més amb independència del "núcle". Codis font per a JMAP - in repositoris a GitHub.

JMAP: un protocol obert que substituirà IMAP en intercanviar correus electrònics
/ PxAquí /PD

Perspectives

Tot i que el treball en l'estàndard encara no s'ha acabat oficialment, ja s'està implementant en entorns de producció. Per exemple, els creadors del servidor de correu obert Cyrus IMAP implementat la seva versió JMAP. Desenvolupadors de FastMail alliberat marc de servidor per al nou protocol en Perl, i els autors de JMAP van presentar servidor intermediari.

Podem esperar que hi hagi més i més projectes basats en JMAP en el futur. Per exemple, hi ha una certa probabilitat que els desenvolupadors d'Open-Xchange, que estan creant un servidor IMAP per a sistemes Linux, canviïn al nou protocol. Refuseu-los molt IMAP pregunten els membres de la comunitat, format al voltant de les eines de l'empresa.

Els desenvolupadors de l'IETF i FastMail diuen que cada cop més usuaris veuen la necessitat d'un nou estàndard obert per a la missatgeria. Els autors de JMAP esperen que en el futur més empreses comencin a implementar aquest protocol.

Els nostres recursos i recursos addicionals:

JMAP: un protocol obert que substituirà IMAP en intercanviar correus electrònics Com comprovar les galetes per al compliment del GDPR: una nova eina oberta us ajudarà

JMAP: un protocol obert que substituirà IMAP en intercanviar correus electrònics Com desar amb una interfície de programació d'aplicacions
JMAP: un protocol obert que substituirà IMAP en intercanviar correus electrònics DevOps en un servei al núvol utilitzant l'exemple d'1cloud.ru
JMAP: un protocol obert que substituirà IMAP en intercanviar correus electrònics L'evolució de l'arquitectura del núvol 1cloud

JMAP: un protocol obert que substituirà IMAP en intercanviar correus electrònics Potencials atacs a HTTPS i com protegir-se contra ells
JMAP: un protocol obert que substituirà IMAP en intercanviar correus electrònics Com protegir un servidor a Internet: experiència 1cloud.ru
JMAP: un protocol obert que substituirà IMAP en intercanviar correus electrònics Un programa educatiu breu: què és la Integració Continuada

Font: www.habr.com

Afegeix comentari