Hosted at Sorceforge.net next up previous contents
Next: NNTP Up: Hitchhiker's Guide to the Previous: POP3   Contents

Subsections

IMAP4

Wie POP3 dient IMAP (definiert in RFC 1730) dazu, die auf dem Server gespeicherten Mails abzurufen. Allerdings bleiben bei IMAP die Mails üblicherweise auf dem Server, das heißt der Server übernimmt die permanente Speicherung der Mails.

Dies ist besonders für Nutzer, die oft an verschiedenen Computern arbeiten, nützlich, da sie nun auf alle ihrer Mails von jedem Computer aus Zugriff haben.

Auch gibt es bei IMAP (server-seitige) Ordner, ein Fremdwort für POP3.

Technische Implementierung

Direkt nach dem Verbinden auf den Standardport 143 des IMAP4-Servers (im Beispiel imap.web.de) empfängt man eine Bannermeldung:

<* OK WEB.DE IMAP4-Server

Als nächstes loggen wir uns ein:

>A001 LOGIN "iblech" "pa5sword"
<A001 OK User logged in
Da bei IMAP theoretisch mehrere Befehle gleichzeitig ausgeführt werden können, bedient man sich von IDs, die jedem Befehl voranstehen müssen (hier A001). Die ID kann mehr oder weniger frei gewählt werden, es dürfen nur keine Leerzeichen oder andere Sonderzeichen in der ID enthalten sein. Auch muss die nächste ID nicht unbedingt "`höher"' (zum Beispiel A002) sein.

Nun können wir einen Ordner auswählen:

>A002 SELECT "inbox"
<* 1 EXISTS
<* OK [UNSEEN 1] Message 1 is first unseen
<* OK [PERMANENTFLAGS (\Deleted \Seen \Answered)]
<* OK [UIDVALIDITY 1]
<* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
<A002 OK Completed [READ-WRITE]
"`inbox"' ist der Standard-Ordner, "`Posteingang"'. Aus der Meldung können wir sehen, dass eine Nachricht noch neu ist (UNSEEN 1).

Bevor wir allerdings die Nachricht herunterladen, können wir schauen, wie groß die Mail (wie bei POP3 angegeben in Octets, also Bytes) ist:

>A003 FETCH 1 RFC822.SIZE
<* 1 FETCH (RFC822.SIZE 2247)
<E1 OK Completed

Nun können wir die Übertragung des Headers der Mail einleiten:

>A004 FETCH 1 RFC822.HEADER
<* 1 FETCH (RFC822.HEADER {1446}
<Received: from [204.126.2.42] (helo=gentoo.org)
<        by mx22.web.de with smtp (WEB.DE 4.99 #420)
<        id 19iCSL-0008FU-00
<        for iblech@web.de; Thu, 31 Jul 2003 14:22:53 +0200
<Received: (qmail 1148 invoked by uid 1002); 31 Jul 2003
<Mailing-List: contact gentoo-user-help@gentoo.org
<From: "Fellipe Weno" <fellipe@eiconbrasil.com.br>
<To: <gentoo-user@gentoo.org>
<Subject: Re: [gentoo-user] winex dont run
<
<)
<A004 OK Completed
Hier wird das Ende mit einer ) (runde Klammer zu) markiert.

Auch der Body der Mail ist schnell geholt:

>A005 FETCH 1 BODY.PEEK[TEXT]
<* 1 FETCH (BODY[TEXT] {873}
<i dont need notepad i wanna run diablo 2 game... but i get
<it work i get source from cvs tree and compile it and its
<work fine =)
<thank's
<
<--
<gentoo-user@gentoo.org mailing list
<
<)
<A005 OK Completed
Hätten wir die gesamte Mail auf einmal holen wollen, hätten wir auch
>A005 FETCH 1 RFC822
benutzen können.

Nun kann die Mail gelöscht (obwohl das bei IMAP, wie oben erwähnt, eher unüblich ist) werden:

>A006 STORE 1 +FLAGS (\Deleted)
>* 1 FETCH (FLAGS (\Deleted))
<A006 OK Completed
Mit diesem Befehl setzen wir den Status der Mail auf "`zum Löschen bereit"'. Mit
>A007 EXPUNGE
<* 1 EXPUNGE
<OK EXPUNGE completed
wird die Mail dann endgültig gelöscht. Nachdem die Mail gelöscht ist, verschieben sich auch die Nummern der Mails nach vorne, das heißt Nachricht Nummer 2 ist nach der Löschaktion die erste Nachricht.

Mit LOGOUT beenden wir die Verbindung:

<A008 LOGOUT
>* BYE LOGOUT received
>A008 OK Completed

Übersicht aller Befehle

Befehl Wirkung
LOGIN "name" "pass" Login
SELECT "order" Wechsel in neuen Ordner
FETCH nummer RFC822.SIZE Anzeigen der Größe einer Mail
FETCH nummer RFC822.HEADER Anzeigen des Headers einer Mail
FETCH nummer BODY.PEEK[TEXT] Anzeigen des Body einer Mail
FETCH nummer RFC822 Anzeigen der gesamten Mail
STORE nummer +FLAGS (\Deleted) Zum Löschen markieren
EXPUNGE Alle als gelöscht markierte Mails löschen
LOGOUT Verbindung schließen

Abschluss

Mit IMAP steht Telnettern nun ein weiteres Protokoll zum Abholen von Mails zur Verfügung. Eine komplette Beispielsitzung findet sich

Figure 15: Via IMAP Mails abholen
\begin{figure}\begin{center}\begin{small}
\begin{verbatim}iblech@thestars guid...
....
iblech@thestars guide $ exit\end{verbatim}
\end{small}\end{center}\end{figure}
[*].


Hosted at Sorceforge.net next up previous contents
Next: NNTP Up: Hitchhiker's Guide to the Previous: POP3   Contents
Ingo Blechschmidt 2003-08-07