IMAP-Befehle

Kurze Sammlung der wichtigsten IMAP-Befehlen und Verbindungseinstellungen für das IMAP-Protokoll

Verbindung herstellen

unverschlüsselt

telnet mail.example.org 143

via SSL

openssl s_client -port 993 mail.example.org

Hostnamen und Port ggf. anpassen.

Anmeldung (Login)

. LOGIN "username" "password"

Wobei username und password Platzhalter für Benutzername und Passwort sind. Die Anführungszeichen sind Teil des Befehls und müssen eingegeben werden.

Ordnerliste abrufen

. LIST "" "*"
. LIST "" "*" RETURN (SPECIAL-USE)
. LIST (SPECIAL-USE) "" "*"

Der erste Befehl zeigt alle Ordner an. Der zweite hängt Special Use Flags optional an und sollte die selbe Ausgabe wie der erste Befehl ausgeben. Der dritte Befehl hingegen zeigt nur Spezial-Ordner wie "Trash", "Drafts" und "Sent" an.

Nachrichten eines Ordners

Zuerst muss man in den Ordner wechseln (dort natürlich den entsprechenden Ordner angeben:

. SELECT myfolder

Danach kann man sich die IDs oder UIDs der im Ordner vorhandenen Mails anzeigen. UIDs sind eindeutiger und zu empfehlen.

. SEARCH ALL
. SEARCH UNSEEN
. UID SEARCH ALL
. UID SEARCH UNSEEN

SEARCH liefert die IDs, UID SEARCH liefert die UIDs. Mit ALL oder UNSEEN kann man zwischen allen oder nur ungelesenen Nachrichten unterscheiden.

Einzelne Nachricht abrufen

. FETCH 4 (FLAGS INTERNALDATE RFC822.SIZE BODY[HEADER.FIELDS (Subject From To Date)])
. UID FETCH 86371 (FLAGS BODY[HEADER.FIELDS (Subject From To Date)])
. UID FETCH 86371 (BODY[])
. UID FETCH 86371 (BODY[TEXT])

Mit FETCH 4 ruft man die ID 4 ab, mit UID FETCH 86371 die UID 86371 gemäss vorheriger Liste. In Klammern gibt man dann die abzurufenden Infos ein. Die ersten zwei Zeilen rufen nur einige Header-Infos ab, die dritte Zeile den kompletten Body inkl. allfälliger Anhänge als MIME-Parts, die letzte Zeile nur den Text des E-Mails ohne Dateianhänge.

Nachricht als gelesen markieren

. STORE 4 +FLAGS (\Seen)
. UID STORE 86371 +FLAGS (\Seen)

Setzt das Gelesen-Flag für ID 4 bzw. UID 86371

Logout

. LOGOUT