Druckversion

Definition

IMAP ist ein textbasiertes Übertragungsprotokoll welches erstmals 1986 an der Stanford University in Kalifornien entwickelt wurde und derzeit in der vierten Version (IMAPv4rev1) verfügbar ist. Es dient dem Zugriff und Austausch von elektronischen Nachrichten (E-Mails) zwischen dem E-Mail Server des Providers und dem Anwendungsprogramm, dem sogenannten E-Mail Client des Users. Wie auch die „Schwesterprotokolle“ SMTP (Simple Mail Transfer Protocol) und POP3 (Post Office Protocol) ist IMAP teil der Internetprotokollfamilie im TCP/IP-Referenzmodell beziehungsweise ISO-OSI-Modell und ist der Anwendungsschicht untergeordnet. IMAP nutzt das Port 143 sowie als IMAPS das Port 993. Die Vorgaben für das Protokoll stehen im RFC 3501.

E-Mail Clients (im Folgenden "Client") bieten die Möglichkeit, die auf dem Server befindlichen E-Mails mit ihren Anlagen auf Anwendungsebene abzurufen, den Speicherort und die Ordnerstruktur anzupassen sowie E-Mails auf Anwendungsebene zu schreiben und diese zu versenden. Die meistgenutzten Clients sind unter anderem MS Outlook, Apple Mail, IBM Lotus Notes und Mozilla Thunderbird.

Der eigentliche Sinn und Zweck des IMAP ist die synchrone Verwaltung von E-Mails in einer einheitlichen Ordnerstruktur auf Anwendungs- und Serverebene. Beim Abruf von E-Mails bleiben diese auf dem Server gespeichert und werden in Anwendungsprogrammen, sogenannten Mail User Agents, lediglich dargestellt. IMAP dient daher insbesondere Usern von Netzrechnern, die über keine oder geringe Speicherkapazität verfügen um E-Mails abrufen und verwalten zu können.

Wie auch beim POP3 verfügt das IMAP nur über eine Pull-Funktion um E-Mails in den Client zu laden. Um auch E-Mails aus der Anwendungsebene zu versenden muss ein pushfähiges Protokoll angewandt werden, wie beispielsweise das SMTP.

Der Unterschied zu POP3 und SMTP ist unter anderem der, dass IMAP nicht bei jedem Clientkommando auf eine Antwort des Servers warten muss, um weiterarbeiten zu können. Es können eine Reihe an Befehlen an den Server gesandt werden ohne eine ad-hoc Antwort zu erhalten.

Verfahren

Stufen einer IMAP-Sitzung

Die gesamte IMAP Sitzung versetzt den Client in verschiedene Stufen, die ihm Befehlsrechte und/oder Eingabepflichten zuweisen. Folgende Stufen sind möglich:

Non-Authenticated State
  • Client-Server Kontakt besteht
  • User muss sich identifizieren um Verbindung aufzubauen
Authenticated State
  • User hat sich erfolgreich identifiziert
  • Zugriff auf E-Mails gewährt
Selected State
  • Ein Ordner wurde ausgewählt
  • Ordner und E-Mails können bearbeitet werden
Logout State
  • Unbeantwortete Befehle werden noch ausgeführt
  • Sitzung wird beendet

Eine grafische Darstellung der Sitzungsstufen ist in der Anlage zu finden.

Ablauf

Möchte der User in seinem Client auf sein E-Mails zugreifen, stellt dieser eine Verbindung zum Server her. Der Client befindet sich jetzt im Non-Authenticated State. Dabei werden dem Server die Login-Daten, in der Regel Benutzername und Kennwort des Users übermittelt. Waren die Login-Daten korrekt, bestätigt der Server die Anmeldung und die Ordnerstruktur wird im Client dargestellt. Der Client ist jetzt im Authenticated State.

Um seine E-Mails abzurufen wählt der User in seinem Client den Posteingangsordner. Somit versetzt er seinen Client in den Selected State. Der Server senden nun Informationen über die in diesem Ordner gespeicherten Nachrichten und ihrem Statusindikator, den sogenannten Flags. Dabei sind folgende Flags möglich:

 \Recent neu/ungelesen
 \Seen gelesen
 \Answered beantwortet
 \Flagged markiert
 \Deleted gelöscht
 \Draft Entwurf

Öffnet der Empfänger nun eine E-Mail um diese zu lesen, sendet der Server alle notwendigen Information und der Client stellt die E-Mail dar. Wurde eine neue E-Mail gelesen, ändert sich ihr Flag von \Recent zu \Seen.

Via Drag & Drop hat der User die Möglichkeit seine E-Mails in verschiedene Ordner zu sortieren. Schließt der User seinen Client, geht dieser in den Logout State über.

Die Kommandos des Clients erhalten eine fortlaufende Kennung, sogenannte Tags. Sie bestehen aus einem Buchstaben und drei Ziffern. Befehl Nr. 3 könnte somit den Tag A003 haben. Anhand des Tags kann der Server signalisieren, auf welchen Befehl er antwortet.

Wichtige Client-Befehle

 Non-Authenticated State

 AUTHENTICATE

Authentifizierungsmechanismus

 LOGIN

Befehl zum Login mit Benutzername und Passwort des Users

 Authenticated State

 SELECT

Wählt einen Ordner um Informationen über diesen zu erhalten

 EXAMINE

Wie "SELECT", jedoch mit Schreibschutz

 CREATE

Erstellt einen Ordner

 DELETE

Löscht einen Ordner

 RENAME

Benennt einen Ordner um

 Selected State

 CLOSE

Schließt den selektierten Ordner und geht zurück in den Authenticated State

 EXPUNGE

Schließt den selektierten Ordner aber bleibt im Selected State

 SEARCH

Sucht nach Nachrichten im selektierten Ordner

 FETCH

Fordert Nachrichten vom Server an

 Logout State

 LOGOUT

Trennt die Verbindung zum Server

Antwortmöglichkeiten des Servers

Auf die oben genannten Client-Befehle hat der Server folgende Antwortmöglichkeiten:

 OK Befehl erfolgreich ausgeführt
 NO Fehler beim Ausführen des Befehls
 BAD Befehl unbekannt oder Syntax Fehler

Protokollbeispiel

Wie das zuvor beschriebene Verfahren im textbasierten Protokoll aussieht zeigt dieses Beispiel:

 

 

* OK   IMAP4rev1 

 

1.

C:

A001 LOGIN MAX-MUSTERMANN PASSWORD

 


S:

A001 OK   LOGIN completed 

 

2.

C:

A002   SELECT Inbox

 


S:

 * 9 EXISTS
 * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
 * 4 RECENT
 * OK [UNSEEN 4] Message 4 is the first unseen message
A002 OK [READ-WRITE] SELECT completed

 

3.

C:

A003 FETCH   4 Full 

 

 

S:

 * 4   FETCH (FLAGS (\Recent))

E-Mail an 4. Position ist ungelesen

 

 

     INTERNALDATE "24-May-2010 01:05:33 +0100"

Aktuelle Uhrzeit des Servers

 

 

     RFC922.Size 12288

E-Mail ist 12 KB groß

 

 

     ENVELOPE ("Mon, 24 May 2010 01:04:25 +0100 (CET)"

Sendezeitpunkt der E-Mail

 

 

         "Mein Beitrag zum Kompendium"

Betreff

 

 

         (("Max Mustermann" NIL   "max.m" "domain.de"))

Absender (From)
Max Mustermann
max.m@domain.de

 

 

         (("Max Mustermann"   NIL "max.m" "domain.de"))

Absender (Sender)
Max Mustermann
max.m@domain.de

 

 

         (("Max Mustermann" NIL "max.m"   "domain.de"))

Antwortadresse
Max Mustermann
max.m@domain.de

 

 

         ((NIL NIL "imap"   "domain.de"))

IMAP Adresse des Users

 

 

         (("Erika Muster" NIL "eri-m" "anbieter.com")) 

Empfängerin (To)
Erika Muster
eri-m@anbieter.com

 

 

         (("Annelise Muster" NIL "anne0503"   "anbieter.com")) 

Kopieempfängerin (CC)
Annelise Muster
anne0503@anbieter.com

 

 

         "<B27397-0100000@domain.de>")

Message-ID

 

 

   BODY ("Hallo Erika" ("CHARSET=iso-8859-1"))

Inhalt der E-Mail

 

 

 A003   OK FETCH completed

 

4.

C:

 A004   LOGOUT

 

 

S:

 * BYE IMAP4 server terminating connection

 

 

 

 A004 OK   LOGOUT completed

 

Vorteile

Ein auf IMAP konfigurierter Client benötigt keinen oder geringen Speicherplatz, da E-Mails im Client nur dargestellt werden und auf dem Server gespeichert bleiben.

Ein weiterer wesentlicher Pluspunkt von IMAP im Vergleich zu POP3 ist die Steuerbarkeit im Offlinezustand. Änderungen werden gesammelt und nach erneuter Verbindung zum Server synchronisiert. Somit liegt unabhängig vom Zugriffsort die gewohnte Ordnerstruktur vor.

Viele E-Mail Provider bieten darüber hinaus die Funktion, Regeln zur automatischen Verteilung der E-Mails in entsprechende Ordner zu erstellen. Dies bietet nochmals einen höheren Komfort.

Wichtig für User mit begrenztem Traffic ist die Möglichkeit Teile der Mail, wie Betreff, Nachricht und Anlage getrennt zu laden.

Nachteile

Da die E-Mails nach dem Abruf nicht vom Server gelöscht werden, ist eine enorme Speicherkapazität erforderlich. Daher ist die IMAP-Funktionalität bei den meisten Providern kostenpflichtig. Die Zahl der kostenlosen Provider ist sehr gering.

Ein weiterer Nachteil ist, dass gesendete Nachrichten nicht auf den Server geladen werden sondern weiterhin nur lokal verfügbar sind. Für eine zentrale Speicherung müssen gesendete E-Mails manuell in den Gesendet-Ordner des Servers verschoben werden.

Quellen

http://www.wired-net.de/dokumentationen/emailoutlook/imap.html

http://www.tecchannel.de/kommunikation/e-mail/401772/so_funktioniert_e_mail/index18.html

http://tools.ietf.org/html/rfc3501

http://de.wikipedia.org/wiki/Internet_Message_Access_Protocol#IMAPS

AnhangGröße
Internet Message Access Protocol.jpg70.31 KB