IT-Academy Logo
Sign Up Login Help
Home - Netzwerke - Protokolle - Das POP3-Protokoll



Das POP3-Protokoll

Erklärung der wichtigsten Befehle des POP3-Protokolls zum Empfang von E-Mails über telnet.


Autor: Tobias Surmann (incsoft)
Datum: 26-09-2003, 22:12:09
Referenzen: keine
Schwierigkeit: Profis
Ansichten: 16730x
Rating: 9 (4x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Einleitung

POP3 ist die Abkürzung für Post Office Protocol Version 3 und ist ein Protokoll, um E-Mails von einem POP-Server zu empfangen. Ich werde Ihnen in diesem Artikel die wichtigsten Befehle zur Auflistung und zum Empfang aller auf einem POP3-Konto abgelegten E-Mails nach RFC 1939 und RFC 2449 vorstellen.

POP3-Befehle

Im folgenden werde ich auf die wichtigsten Befehle zum Empfang von E-Mails mit Hilfe von POP3 eingehen. Um die Schritte am eigenen Computer nachvollziehen zu können, öffnen Sie die MS-DOS-Eingabeaufforderung (über Start | Ausführen | "cmd" unter Windows XP oder Start | Programme | Zubehör | Eingabeaufforderung). Führen Sie dann das Programm telnet aus, um auf den POP3-Server zuzugreifen.

Verbindung zum POP3-Server aufbauen

Geben Sie in der MS-DOS-Eingabeaufforderung folgenden Befehl ein, um über telnet eine Verbindung zum POP3-Server ihres Mailproviders herzustellen (in diesem Artikel werde ich beispielhaft den POP3-Server von Web.de verwenden). Die meisten POP-Server "horchen" auf Port 110.

C: telnet <POP-Server Adresse> <POP-Server Port>
#Beispiel: telnet pop.web.de 110#
S: +OK WEB.DE POP3-Server

C steht für den Text, den Sie auf der Konsole tippen müssen (C wie Client) und S für die Antwort des Servers. Kommentare stehen zwischen zwei Rauten (#). Die spitzen Klammern müssen nicht mit eingegeben werden und dienen nur zur Verdeutlichung von Platzhaltern (doppelte spitze Klammern müssen aber als ein Klammernpaar eingegeben werden!).

Die Antwort des Servers kann entweder ein +OK sein, wenn der Befehl erfolgreich ausgeführt werden konnte, oder ein -ERR, wenn ein Fehler bei der Ausführung aufgetreten ist. Auf jeden Fall müssen diese Statuscodes vom POP-Server immer komplett in Großbuchstaben zurückgegeben werden.

An dieser Stelle befindet man sich im so genannten AUTHORIZATION-Modus. Das heißt, dass der Server nun erwartet, dass man sich authentifiziert.

Login

Für den Login werden zwei Kommandos benötigt. Zuerst müssen Sie über USER ihren Benutzernamen für ihr POP3-Konto angeben, danach erwartet der Server den Befehl PASS, welcher das dazugehörige Passwort als Parameter erwartet.

C: USER <Benutzername> #Der Benutzername ist meist Ihre E-Mail Adresse#
S: +OK Bitte Kennwort eingeben/enter password
C: PASS <Ihr Passwort> #Achtung! Das Passwort wird im Klartext auf dem Bildschirm angezeigt!#
S: +OK Postfach bereit/mailbox locked and ready
Die Serverantworten können je nach POP-Server und Mailprovider variieren. Sie haben jetzt für eine bestimmte, vom Mailprovider festgelegte Zeitspanne die Gelegenheit, über den POP-Server des Anbieters E-Mails zu empfangen.

Nach erfolgreichem Login befinden Sie sich im TRANSACTION-Modus. Hier können Sie verschiedene Befehle einsetzen, um eine Übersicht über die E-Mails in ihrem Postfach zu bekommen.

Fähigkeiten des POP3-Servers

Das CAPA-Kommando ist neu im POP3-Protokoll (s. Erweiterung des POP3-Protokolls nach RFC 2449) und gibt eine Liste aller Fähigkeiten des POP3-Servers aus. Diese Liste gibt an, welche zusätzlichen Befehle der POP3-Server versteht bzw. welche zusätzlichen Verschlüsselungsmöglichkeiten der Server unterstützt. Die Liste wird durch einen Punkt abgeschlossen.

C: CAPA #Fähigkeiten des Servers ausgeben#
S: +OK
S: EXPIRE 240 #dies sind die Fähigkeiten, die der POP3-Server von web.de unterstützt#
S: LOGIN-DELAY 720
S: TOP
S: UIDL
S: PIPELINE
S: USER
S: IMPLEMENTATION WEB.DE POP3-Server
S: .
Liste empfangener E-Mails

Eine Liste der empfangenen E-Mails können Sie über den LIST-Befehl ausgeben. Aber erwarten Sie nicht eine solch komfortable Ansicht wie bei Ihrem E-Mailprogramm! Der LIST-Befehl gibt erstmal nur Auskunft über die Anzahl der vorhandenen E-Mails, deren MsgIDs und der Größe jeder einzelnen E-Mail in Byte. Die Ausgabe der Liste wird mit einem einfachen Punkt abgeschlossen.

C: LIST #E-Mails auflisten#
S: +OK
S: <MsgID> <Größe in Byte> #Jeder Eintrag der Liste gleicht dieser Struktur#
S: . #Ende der Liste wird durch Punkt angezeigt#
Liste ungelesener E-Mails

Über den POP3-Befehl STAT kann man eine Liste aller ungelesenen E-Mails ausgeben. Der Befehl ist dem LIST-Befehl sehr ähnlich, allerdings werden die Daten (aus welchem Grund auch immer) in einem anderen Format zurückgegeben. So steht in jeder Zeile ein +OK vor der MsgID und der Größe. Außerdem wird das Ende der Liste nicht durch einen Punkt angezeigt.

C: STAT #Ungelesene E-Mails#
S: +OK <MsgID> <Größe in Byte> #Jeder Eintrag der Liste gleicht dieser Struktur#
E-Mails lesen

Mit RETR kann eine E-Mail vom POP3-Server heruntergeladen und angezeigt werden. Beachten Sie hierbei, dass der komplette Quelltext der E-Mail angezeigt wird, d. h. wenn es sich z. B. um eine Multipart-MIME-Mail handelt, werden alle Parts (Nur-Text, HTML, Anhänge [die natürlich Base64 codiert sind]) auf der Eingabeaufforderung als Text ausgegeben, was ziemlich unübersichtlich ist. Wenn man einen eigenen E-Mail-Client zum Empfang von Mails programmieren möchte, ist das RETR-Kommando dagegen sehr hilfreich. Auch hier wird die Ausgabe wieder mit einem Punkt abgeschlossen.

C: RETR <MsgID> #Die E-Mail wird anhand der MsgID ausgewählt#
S: +OK message follows
S: <E-Mail Quelltext>
S: . #Ende der Nachricht#
Wird eine falsche MsgID angegeben, so antwortet der Server mit -ERR no such message.

E-Mails auf dem Server löschen

Der Befehl DELE erwartet als Parameter die MsgID der zu löschenden E-Mail. Der Löschvorgang wird erst ausgeführt, wenn die Verbindung zum Server getrennt wird (UPDATE-Modus). Wenn man versehentlich eine falsche E-Mail als zu löschen markiert, kann dies über RSET wieder rückgängig gemacht werden. Dadurch werden alle E-Mails als nicht zu löschen markiert.

C: DELE <MsgID> #Die E-Mail wird anhand der MsgID ausgewählt#
S: +OK message <MsgID> deleted
C: RSET
S: +OK
Verbindung trennen

Sie können die Verbindung zum POP3-Server über den Befehl QUIT trennen.

C: QUIT
S: +OK
Hinweise

Tatsächlich kann es vorkommen, dass mal ein Kommando vom Server nicht sofort angenommen wird. Da müssen Sie dann einfach hartnäckig bleiben und das Kommando einfach nochmal senden (so würde es ein E-Mailprogramm auch machen), bis Sie ein +OK (Statuscode 250) erhalten.
Wenn Sie zu lange mit der Eingabe des nächsten Kommandos warten, wird der Server die Verbindung von alleine trennen. Möchten Sie dies vermeiden, so senden Sie den Befehl NOOP (der Server sendet ein einfaches +OK zurück), um die Verbindung weiter aufrecht zu erhalten.

Internetadressen und Quellen

Post Office Protocol Version 3 RFC 1939 von Mai 1996
Erweiterung des Post Office Protocol Version 3 RFC 2449 von November 1998


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04510
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06247
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1158
Comments: 0