Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Internet Message Access Protocol

Das Internet Message Access Protocol (IMAP), ursprünglich Interactive Mail Access Protocol, ist ein Netzwerkprotokoll, das ein Netzwerkdateisystem für …

Inhalt5 Abschnitte
  1. 1. Grundprinzip und Aufbau
  2. 2. Nachrichtenverwaltung und typische Sitzung
  3. 3. Unterschiede zu POP und Authentifizierung
  4. 4. Verschlüsselte Verbindungen
  5. 5. Clients, Server und Weiterentwicklung

Grundprinzip und Aufbau

Das Internet Message Access Protocol (IMAP), ursprünglich Interactive Mail Access Protocol, ist ein Netzwerkprotokoll zum Lesen und Verwalten von E-Mails. Es stellt für E-Mails eine Art Netzwerkdateisystem bereit. Im Gegensatz zu einem Verfahren, bei dem Nachrichten hauptsächlich auf einem einzelnen Rechner gespeichert werden, bleiben bei IMAP die E-Mails, Ordnerstrukturen und Einstellungen auf dem Mailserver.

IMAP ist textbasiert und arbeitet im TCP/IP-Protokollstapel auf der Anwendungsschicht. Es nutzt TCP als Transportschicht und IP, sowohl IPv4 als auch IPv6. Der normale IMAP-Port ist 143/TCP; für IMAP mit TLS ist Port 993/TCP vorgesehen. Der aktuelle Standard ist RFC 9051.

Ein Mail-Client fordert vom Server jeweils nur die Informationen an, die gerade benötigt werden. Beim Öffnen eines Ordners lädt er beispielsweise eine aktuelle Nachrichtenliste. Soll der Inhalt einer Nachricht angezeigt werden, wird dieser gezielt vom Server abgerufen. Dadurch besitzen mehrere Clients denselben aktuellen Stand einer Mailbox. Suchen und andere Verwaltungsaufgaben können auf dem Server ausgeführt werden, ohne dass jeder Client eine vollständige lokale Kopie aller Ordner benötigt.

IMAP unterstützt mehrere Ordner innerhalb einer Mailbox. Server können eingehende Nachrichten automatisch filtern und in verschiedene Ordner einsortieren. Über Zugriffsrechte können auch mehrere Benutzer gleichzeitig auf dieselben Ordner und Daten zugreifen. Die Erweiterung IMAP IDLE ermöglicht eine sofortige Benachrichtigung des Clients über neue Nachrichten (Push), wodurch regelmäßiges Nachfragen (Polling) und damit unnötiger Datenverkehr vermieden werden.

Nachrichtenverwaltung und typische Sitzung

Zu den zentralen Aufgaben von IMAP gehören das Auswählen von Ordnern, das Abrufen von Nachrichteninformationen, das Anzeigen von Headern und das Setzen von Flags. Flags sind Kennzeichnungen wie „\Answered“, „\Flagged“, „\Deleted“, „\Seen“ und „\Draft“. Sie speichern beispielsweise, ob eine Nachricht beantwortet, markiert, gelöscht, gelesen oder als Entwurf gekennzeichnet ist.

Eine gekürzte IMAP4rev1-Sitzung aus RFC 3501, Kapitel 8, zeigt den typischen Ablauf:

  • Der Server begrüßt den Client mit „* OK IMAP4rev1 Service Ready“.
  • Der Client meldet sich mit „a001 login mrc secret“ an; der Server bestätigt die Anmeldung mit „a001 OK LOGIN completed“.
  • Mit „a002 select inbox“ wird der Ordner „inbox“ ausgewählt. Der Server meldet unter anderem „18 EXISTS“, also 18 vorhandene Mails, sowie „2 RECENT“. Außerdem zeigt „UNSEEN 17“ an, dass Mail Nr. 17 die erste ungelesene Nachricht ist.
  • Mit „a003 fetch 12 full“ fordert der Client Informationen zu Mail Nr. 12 an. Die Antwort enthält unter anderem das Flag „\Seen“, das Zustelldatum „17-Jul-1996 02:44:25 -0700“, die Größe „4286“ Byte und Angaben aus dem Header wie Datum, Betreff, Absender, Empfänger, CC und Message-ID.
  • Mit „a004 fetch 12 body[header]“ werden alle Header dieser Nachricht angefordert. Der Server liefert beispielsweise Datum, From, Subject, To, cc, Message-Id, MIME-Version und Content-Type.
  • Mit „a005 store 12 +flags \deleted“ wird Mail Nr. 12 als gelöscht markiert. Die Antwort zeigt nun die Flags „\Seen \Deleted“.
  • Mit „a006 logout“ beendet der Client die Sitzung; der Server antwortet mit „* BYE IMAP4rev1 server terminating connection“ und bestätigt die Abmeldung.

Ohne Internetverbindung zum Mailserver ist der Zugriff in der Regel nicht möglich. Einige Clients speichern deshalb lokale Kopien und gleichen diese nach Wiederherstellung der Verbindung mit dem Server ab. Wegen der zentralen Speicherung auf einem externen Server müssen außerdem Datenschutz und die Verschlüsselung der Verbindung berücksichtigt werden.

Unterschiede zu POP und Authentifizierung

Im Vergleich zum Post Office Protocol (POP) verwaltet IMAP die Nachrichtenordner direkt auf dem Server. Wird eine Nachricht mit IMAP als gelesen markiert, sehen alle anderen Clients diese Markierung ebenfalls. Gelöschte Nachrichten verschwinden von allen synchronisierten Geräten. Nachrichten können serverseitig durchsucht werden; dadurch müssen Clients nicht alle Ordner vollständig speichern. Rechenarbeit und Speicherplatz werden damit teilweise vom Client auf den Server verlagert.

Der Server darf nicht autorisierten Benutzern den Zugriff auf eine Mailbox verweigern. Vor dem Zugriff auf E-Mails muss sich der Benutzer authentifizieren, normalerweise mit Benutzername und Passwort. Auf der IMAP-Protokollebene wird das Passwort dabei im Klartext übertragen. Deshalb können Mailserver verlangen, dass Clients das Passwort nur über eine zuvor verschlüsselte Sitzung senden. Als alternative Netzwerk-Authentifikationsprotokolle nennt der Artikel beispielsweise GSSAPI und Kerberos.

Verschlüsselte Verbindungen

Zum Schutz der übertragenen Daten kann die Verbindung mit SSL/TLS verschlüsselt werden. Dafür gibt es zwei Verfahren.

Bei STARTTLS wird zunächst über Port 143 eine unverschlüsselte Verbindung aufgebaut. Anschließend initiiert der Client mit dem Kommando STARTTLS eine verschlüsselte Sitzung. Alle danach übertragenen Daten werden über diese Verbindung verschlüsselt. STARTTLS ist als Protokollerweiterung ausdrücklich in der Spezifikation vorgesehen.

Bei IMAPS (Internet Message Access Protocol Secure) wird die Verbindung bereits beim Verbindungsaufbau durch SSL verschlüsselt. Der Server erkennt dies am reservierten Port 993. Nach dem Aufbau der SSL-Verbindung wird mindestens IMAPv4 verwendet. Die SSL-Schicht arbeitet für IMAP transparent: Das IMAP-Protokoll selbst muss dafür nicht geändert werden. RFC 8314 bevorzugt IMAPS gegenüber STARTTLS und gegenüber vollständig unverschlüsseltem IMAP.

Clients, Server und Weiterentwicklung

Fast alle gängigen E-Mail-Programme unterstützen IMAP, allerdings in unterschiedlichem Umfang. Viele Clients beherrschen vor allem den grundlegenden Nachrichtenabruf. Nur wenige nutzen den vollständigen Funktionsumfang der Server, etwa die Rechtevergabe für den gemeinsamen Zugriff mehrerer Benutzer auf einen Ordner. Als Beispiele mit erweiterter IMAP-Unterstützung nennt der Artikel Alpine/Pine, Gnus, Mulberry, Microsoft Outlook ab Version 2007, Evolution sowie Mozilla Thunderbird und SeaMonkey. Zur einfachen Unterstützung werden unter anderem Apple Mail, Windows Mail, Pegasus Mail, KMail, mutt, The Bat und Opera bis Version 12 gezählt; Microsoft Outlook erscheint in beiden Auswahlgruppen.

Viele Mailserver unterstützen IMAP. Einige Provider schränken die Funktion ein oder verlangen dafür ein höheres Entgelt, weil bei IMAP mehr Daten auf dem Server verbleiben und durchschnittlich mehr Daten übertragen werden. Cyrus war 1996 der erste Server mit einer als Internetstandard empfohlenen IMAP-Version. UW IMAP folgte ebenfalls 1996 und war zuvor ein Proof of Concept der University of Washington. Undokumentierte Erweiterungen und die Übernahme solcher Erweiterungen zwischen UW IMAP und Cyrus führten dazu, dass Konformität und Kompatibilität bei IMAP als notorisch strittig gelten.

Der Courier Mail Server löste sich vom mbox-Konzept und speichert Nachrichten nach dem Maildir-Konzept. Stabilität und Leistungsfähigkeit dieses Speicherkonzepts sind wichtige Kriterien für IMAP-Server. Weitere genannte Server und Systeme sind Citadel Groupware Server, Dovecot, Mercury MTS für NetWare und Windows sowie die Dokumentenmanagement-Systeme agorum core und Alfresco. Groupware-Lösungen wie Kerio Connect, Kolab-Server, Lotus Domino, Microsoft Exchange Server und Zarafa integrieren IMAP ebenfalls fest.

Die Entwicklung verlief über mehrere Versionen: Im Juli 1988 schlug Mark Crispin die zweite Version vor. Im Februar 1991 wurde eine dritte Version veröffentlicht. Im Dezember 1994 erschien die erste nicht mehr experimentelle vierte Version. Im Dezember 1996 wurde festgestellt, dass eine von mehreren undokumentierten Versionen weit verbreitet war; die erste Revision der vierten Version wurde im März 2003 nochmals geändert.

Die Dokumentation besteht aus zahlreichen grundlegenden, ergänzenden und erweiternden RFCs. Dazu gehören RFC 3501 für IMAP4rev1, RFC 2177 für IMAP IDLE, RFC 2595 für TLS mit IMAP, POP3 und ACAP, RFC 4314 für Zugriffssteuerungslisten (ACL), RFC 5255 für Internationalisierung, RFC 5256 für SORT und THREAD, RFC 5738 für UTF-8-Unterstützung, RFC 6851 für MOVE sowie RFC 7162 für CONDSTORE und QRESYNC. Weitere Erweiterungen betreffen unter anderem Quoten, Komprimierung, Suchfunktionen, Metadaten, spezielle Mailboxen und die Synchronisation getrennter Clients.

Weiterlesen

Internetprotokollfamilie RIP (Routing Information Protocol) – Informationsaustausch zwischen Routern (Distanzvektor) via UDP · IGMP (Internet Group Management) – Organisation von … Port (Netzwerkadresse) Zusammen mit der IP-Adresse ermöglicht der Port die Adressierung eines Servers oder Clients. Durch Angabe von Quell- und Zieladresse, jeweils bestehend aus IP … Transport Layer Security Während des TLS Handshake finden ein sicherer Schlüsselaustausch und eine zertifikatsbasierte Authentifizierung statt. Für die verschlüsselte und geschützte … Netzwerkprotokoll Ein Netzwerkprotokoll (auch Netzprotokoll) ist ein Kommunikationsprotokoll für den Austausch von Daten zwischen Computern bzw. Prozessen, die in einem … E-Mail Die oder das E-Mail (englisch [ˈiːmeɪl], im Deutschen kurz Mail; englisch electronic mail für „elektronische Post“ oder „elektronischer Brief“) ist zum … Client Man nennt auch ein Endgerät selbst, das Dienste von einem Server abruft, Client. Das Gegenstück zum Client ist das jeweilige Serverprogramm bzw. der Server … Post Office Protocol Das Post Office Protocol (POP) ist ein Netzwerkprotokoll auf Anwendungsschicht, über das ein E-Mail-Programm E-Mails von einem E-Mail-Server abholen kann … Simple Mail Transfer Protocol Das Simple Mail Transfer Protocol (SMTP, auf Deutsch etwa Einfaches E-Mail-Übertragungsprotokoll) ist ein Protokoll der Internetprotokollfamilie, … Access Control List Eine ACL legt fest, in welchem Umfang einzelne Benutzer und Systemprozesse Zugriff auf bestimmte Objekte (wie Dienste, Dateien, Registrier-Einträge usw.) haben. Daten Daten bezeichnet als Plural von Datum Fakten, Zeitpunkte oder kalendarische Zeitangaben. Als Pluralwort steht es für durch Beobachtungen, Messungen u. a. Polling (Informatik) Polling ist in der Informatik der Ausdruck für eine zyklische Abfrage, die den Status von Hard- oder Software oder das Ereignis einer Wertänderung ermittelt … Datenschutz Datenschutz wird – jedenfalls in Deutschland – meist als Recht verstanden, dass jeder Mensch grundsätzlich selbst darüber entscheiden darf, wem wann welche …