JMAP — ein offenes Protokoll, das IMAP beim Austausch von E-Mails ersetzen wird

Anfang des Monats wurde auf Hacker News intensiv diskutiert das JMAP-Protokoll, das unter der Anleitung der IETF entwickelt wird.Wir haben uns entschieden, darĂŒber zu sprechen, warum es benötigt wird und wie es funktioniert.

JMAP — ein offenes Protokoll, das IMAP beim Austausch von E-Mails ersetzen wird
/ PxHere / PD

Was ist an IMAP nicht mehr zeitgemĂ€ĂŸ?

Protokoll IMAP wurde 1986 eingefĂŒhrt. Viele Elemente, die im Standard beschrieben sind, sind heute nicht mehr aktuell. Zum Beispiel kann das Protokoll die Anzahl der Zeilen in einer E-Mail und PrĂŒfziffern zurĂŒckgeben, MD5 aber diese FunktionalitĂ€t wird in modernen E-Mail-Clients fast nicht mehr genutzt.

Ein weiteres Problem betrifft den Datenverbrauch. Bei IMAP werden E-Mails auf dem Server gespeichert und regelmĂ€ĂŸig mit den lokalen Clients synchronisiert. Wenn aus irgendeinem Grund eine Kopie auf dem EndgerĂ€t des Nutzers "beschĂ€digt" wird, muss die gesamte E-Mail erneut synchronisiert werden. In der heutigen Zeit, in der Tausende von mobilen GerĂ€ten mit dem Server verbunden sein können, fĂŒhrt dieser Ansatz zu höherem Datenverbrauch und erhöhtem Rechenaufwand.

Schwierigkeiten treten nicht nur mit dem Protokoll selbst auf, sondern auch mit den E-Mail-Clients, die damit arbeiten. Seit seiner EinfĂŒhrung wurde IMAP mehrfach ĂŒberarbeitet – die derzeit gĂŒltige Version ist IMAP4. Es gibt zahlreiche optionale Erweiterungen, die im Netz verfĂŒgbar sind. sind veröffentlicht Es existieren nahezu neunzig RFCs mit ErgĂ€nzungen. Eine der neuesten ist RFC8514, die 2019 vorgestellt wurde.

Zudem bieten viele Unternehmen eigene proprietĂ€re Lösungen an, die die Nutzung von IMAP erleichtern oder ihn sogar vollstĂ€ndig ersetzen sollen: Gmail, Outlook, Nylas. Infolgedessen unterstĂŒtzen die bestehenden E-Mail-Clients nur teilweise die verfĂŒgbaren Funktionen. Diese Vielfalt fĂŒhrt zu einer Marktsegmentation.

„DarĂŒber hinaus sollte ein moderner E-Mail-Client nicht nur Nachrichten weiterleiten, sondern auch mit Kontakten arbeiten und sich mit dem Kalender synchronisieren können“, sagt Sergej Belkin, Leiter der Entwicklungsabteilung des IaaS-Anbieters 1cloud.ru. „Heute werden hierfĂŒr externe Protokolle wie LDAP, CardDAV und CalDAV“ verwendet.. Dieser Ansatz erschwert die Konfiguration von Firewalls in Unternehmensnetzwerken und eröffnet neue Vektoren fĂŒr Cyberangriffe.

Die genannten Probleme sollen durch JMAP gelöst werden. Es wird von Spezialisten von FastMail unter der Leitung des Ingenieurbeirats des Internets (IETF) entwickelt. Das Protokoll arbeitet ĂŒber HTTPS, verwendet JSON (aus diesem Grund eignet es sich nicht nur fĂŒr den Austausch von E-Mails, sondern auch fĂŒr eine Reihe von Aufgaben in der Cloud) und vereinfacht die Nutzung von E-Mails in mobilen Systemen. Neben der Verarbeitung von Nachrichten ermöglicht JMAP auch die Integration von Erweiterungen fĂŒr Kontakte und einen Kalender-Planer.

Eigenschaften des neuen Protokolls

JMAP ist ein zustandsloses Protokoll und erfordert keine stÀndige Verbindung zum Mail-Server. Diese Eigenschaft erleichtert die Nutzung in instabilen mobilen Netzwerken und schont den Akku der GerÀte.

Eine E-Mail in JMAP wird im JSON-Strukturformat dargestellt. Es enthĂ€lt alle Informationen aus der Nachricht RFC5322 (Internet Message Format), die fĂŒr E-Mail-Anwendungen nĂŒtzlich sein kann. Laut den Entwicklern soll dieser Ansatz die Erstellung von Clients vereinfachen, da der Server fĂŒr die Lösung potenzieller Probleme (die mit MIME, dem Lesen von Headern und der Kodierung) verantwortlich ist.

Um den Server anzusprechen, verwendet der Client eine API. Dazu formt er eine authentifizierte POST-Anfrage, deren Eigenschaften im Sitzungobjekt JMAP beschrieben sind. Die Anfrage hat das Format application/json und besteht aus einem einzigen JSON-Anforderungsobjekt. Der Server generiert auch ein Antwortobjekt.

In Spezifikationen (Abschnitt 3) Die Autoren geben folgendes Beispiel fĂŒr eine Anfrage an:

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

Im Folgenden ein Beispiel fĂŒr die Antwort, die der Server generiert:

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

Die vollstĂ€ndige JMAP-Spezifikation mit Implementierungsbeispielen finden Sie auf offiziellen Website beschrieben. Projekt. Dort haben die Autoren auch die Beschreibungen der Spezifikationen veröffentlicht fĂŒr JMAP Kontakte und JMAP Kalender — sie sind darauf ausgelegt, mit Kalendern und Kontaktlisten zu arbeiten. Laut den den Autoren wurden Kontakte und Kalender in separate Dokumente ausgelagert, damit sie unabhĂ€ngig vom "Kern" weiterentwickelt und standardisiert werden können. Der Quellcode fĂŒr JMAP ist im Repository auf GitHub.

JMAP — ein offenes Protokoll, das IMAP beim Austausch von E-Mails ersetzen wird
/ PxHere / PD

Perspektiven

Obwohl die offizielle Arbeit an dem Standard noch nicht abgeschlossen ist, wird er bereits in Produktionsumgebungen eingesetzt. Beispielsweise haben die Entwickler des Open-Source-Mailservers Cyrus IMAP eine JMAP-Version implementiert. Die Entwickler von FastMail veröffentlicht haben ein Server-Framework fĂŒr das neue Protokoll in Perl entwickelt, und die Autoren von JMAP haben prĂ€sentiert Proxy-Server.

Es ist zu erwarten, dass in Zukunft immer mehr Projekte auf JMAP basieren werden. Beispielsweise besteht eine gewisse Wahrscheinlichkeit, dass die Entwickler von Open-Xchange, die einen IMAP-Server fĂŒr Linux-Systeme erstellen, auf das neue Protokoll umsteigen. Die Community-Mitglieder fordern sie eindringlich auf, von IMAP abzusehen., die sich um die Werkzeuge des Unternehmens gebildet hat.

Die Entwickler von IETF und FastMail berichten, dass immer mehr Nutzer die Notwendigkeit eines neuen offenen Standards fĂŒr die NachrichtenĂŒbermittlung sehen. Die Autoren von JMAP hoffen, dass in Zukunft mehr Unternehmen dieses Protokoll ĂŒbernehmen werden.

Unsere zusÀtzlichen Ressourcen und Quellen:

JMAP — ein offenes Protokoll, das IMAP beim Austausch von E-Mails ersetzen wird Wie man Cookies auf GDPR-KonformitĂ€t ĂŒberprĂŒft – ein neuer offenes Tool hilft dabei

JMAP — ein offenes Protokoll, das IMAP beim Austausch von E-Mails ersetzen wird Wie man mit einer API Kosten spart
JMAP — ein offenes Protokoll, das IMAP beim Austausch von E-Mails ersetzen wird DevOps in der Cloud mit dem Beispiel 1cloud.ru
JMAP — ein offenes Protokoll, das IMAP beim Austausch von E-Mails ersetzen wird Evolution der Cloud-Architektur 1cloud

JMAP — ein offenes Protokoll, das IMAP beim Austausch von E-Mails ersetzen wird Potenzielle Angriffe auf HTTPS und Möglichkeiten zu deren Schutz
JMAP — ein offenes Protokoll, das IMAP beim Austausch von E-Mails ersetzen wird So schĂŒtzen Sie Ihren Server im Internet: Erfahrungen von 1cloud.ru
JMAP — ein offenes Protokoll, das IMAP beim Austausch von E-Mails ersetzen wird Ein kurzer Überblick: Was ist Continuous Integration?

Quelle: habr.com

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster