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-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster