Sie sind hier:  AIB V3 > Netzwerke > Höhere Protokolle > POP  
POP

POP, genauer POP 3, ist die bisher noch gebräuchlichste Methode, um E-Mails von einem Provider zu empfangen, wenn der eigene Rechner nicht ständig mit dem Internet verbunden ist. Das Prinzip und der Funktionsumfang von POP sind einfach:

  • Die für den Empfänger bestimmten E-Mails landen beim Provider im Spool-Verzeichnis und müssen dort vom Empfänger abgeholt werden.
  • Der Provider stellt einen POP-Server zur Verfügung, welcher die Schnittstelle des POP-Clients auf dem Empfänger-Rechner darstellt. Der lokale POP-Client kommuniziert mit dem POP-Server beim Provider. "Uber ihn werden die vorhandenen E-Mails angeboten.

Eine Kommunikation zwischen dem POP-Client und dem POP-Server beim Provider kann schematisch beispielsweise so aussehen :

Client: Hast Du neue E-Mails für mich?
Server: Ja, insgesamt fünf Stück!
Client: Liste mir die Absender auf!
Server: Meier, Mueller, Huber, Schulze
Client: Zeige die E-Mails an!
Server: ((Zeigt E-Mails an))
Client: ((Speichert E-Mails ab))
Client: Lösche alle angezeigten E-Mails
Server: ((Löscht alle angezeigten E-Mails))

Wenn ein Client über POP3 Nachrichten abrufen möchte, baut er eine TCP-Verbindung über Port 110 auf. Ist die Verbindung zustande gekommen, sendet der Server eine Begrüßungsmeldung. Die weitere Kommunikation zwischen beiden Rechnern erfolgt über Kommandos, die aus drei oder vier Zeichen langen Wörtern (mit einem oder mehreren Argumenten mit bis zu je 40 Zeichen) bestehen. Antworten enthalten einen Status-Indikator und ein Statuswort sowie optionale Informationen. Es gibt zwei Status-Indikatoren:

  • Positiv: +OK
  • Negativ: -ERR
Eine POP3-Verbindung durchläuft mehrere Stufen. Nach der Server-Begrüßung beginnt der "Authorization State". Der Client muß sich gegenüber dem Server identifizieren. Nach erfolgreicher Authorisierung beginnt der "Transaction State". Es werden alle Operationen zum Bearbeiten von Mails ausgeführt. Sendet der Client das Kommando QUIT, beginnt der "Update State". Der Server beendet die TCP-Verbindung und führt die vom Client im "Transaction State" angeforderten Änderungen durch.

Viele POP3-Server haben zusätzlich einen Inaktivitäts-Timer. Laut Spezifikation muß dieser auf mindestens zehn Minuten eingestellt sein. Jedes Kommando des Clients setzt den Timer zurück. Ist der Timer abgelaufen, wird die TCP-Verbindung beendet, ohne in den "Update State" zu wechseln - eventuelle Änderungen werden auf dem Server nicht gespeichert.

Nachdem der POP3-Client eine Verbindung zum Server aufgebaut hat, sendet dieser eine einzeilige Begrüßungsmeldung beliebigenInhalts, z. B.:

Server: +OK POPEL-3 server ready
Dabei handelt es sich bereits um eine Antwort des Servers, daher beginnt die Meldung immer mit einer positiven Bestätigung (+OK). Die Verbindung befindet sich nun im Zustand "Authorization". Der Client muß sich jetzt gegenüber dem Server identifizieren. Dies erfolgt über die beiden Kommandos USER und PASS.

Kommandos im "Authorization State"
Kommando Argument Beschreibung
USER Name Das Argument identifiziert eine Mailbox.
PASS String Der String enthält ein Mailbox-spezifisches Passwort.
QUIT - Beendet die Verbindung.

Die Kombination aus den Kommandos USER und PASS ist am gebräuchlichsten. Dabei werden die jeweiligen Parameter im Klartext an den Server gesendet. Ein Beispiel: Der Username für das Postfach soll "plate", das Passwort "XYZ1230" heißen. In diesem Fall wird folgender Authentifizierungsdialog ablaufen:

Client: USER plate
Server: +OK name is a valid mailbox 
Client: PASS YXZ1230
Server: +OK platesÝs maildrop has 9 messages (1600 octets)
Bei falschen Angaben verweigert der Server den Zugang und gibt eine Fehlermeldung aus. Mögliche Dialoge bei falschem Usernamen:
Client: USER plato
Server: -ERR sorry, no mailbox for plato here
Oder bei einem falschen Passwort:
Client: USER plate
Server: +OK name is a valid mailbox 
Client: PASS tralala
Server: -ERR invalid password
Die Tatsache, daß alle Dialoge im Klartext über das Netz abgewickelt werden, birgt ein hohes Sicherheitsrisiko. Mit dem Kommando APOP sieht die aktuelle POP3-Definition eine wesentlich sicherere Option zur Authentifizierung vor. Diese beschreibt in einem Kommando den User und identifiziert ihn mit einer Einweg-Hash-Funktion.

Hat sich der Client beim Server identifiziert, wechselt die Verbindung in den "Transaction State". Dem Client stehen nun eine Reihe von Kommandos zur Behandlung der Mails zur Verfügung:

Kommandos im "Transaction State"
Kommando Argument Beschreibung
STAT - Liefert die Anzahl der gespeicherten Mails und die Größe der Mailbox zurück (in Byte).
LIST Nummer Liefert die Nummer und Größe (in Bytes) aller Mails zurück. Wird als Argument eine Mail-Nummer angegeben, wird nur die Größe dieser Mail ausgegeben.
RETR Nummer Gibt die Mail mit der als Argument übergebenen Nummer aus.
DELE Nummer Löscht die Mail mit der übergebenen Nummer.
NOOP - Bewirkt die Antwort "+OK". Dient zur Aufrechterhaltung der Verbindung, ohne daß ein Time-Out auftritt.
RSET - Setzt die aktive Verbindung zurück. Noch nicht ausgeführte Änderungen werden verworfen.
QUIT - Beendet die Verbindung und führt alle gespeicherten Änderungen aus.

Der Server führt das Kommando DELE nicht unmittelbar aus. Die entsprechenden E-Mails werden als gelöscht marlkiert und erst bei Beenden der Verbindung endgültig vom Server gelöscht. Hat man eine Nachricht zum Löschen gekennzeichnet, möchte dies jedoch rückgängig machen, führt man das Kommando RSET aus. Der Server verwirft alle noch nicht ausgeführten Operationen.
Sendet der Client das QUIT-Kommando, wechselt die Verbindung in den "Update State". Der Server trennt die TCP-Verbindung und führt alle gespeicherten Änderungen aus.

Neben den hier vorgestellten, für eine minimale Implementation ausreichenden Kommandos gibt es noch weitere, die von den meisten Clients und Servern unterstützt werden. Details hierzu finden Sie in RFC1725.

Im folgenden Beispiel sehen Sie den Ablauf einer POP3-Verbindung. Der Client identifiziert sich gegenüber dem Server und ruft eine Liste der gespeicherten E-Mails ab. Danach werden die Nachrichten einzeln heruntergeladen, auf dem Server zum Löschen gekennzeichnet, und die Verbindung wird beendet.

Server: +OK POP3 server ready
Client: user plate
Server: +OK
Client: pass xyz1230
Server: +OK
Client: LIST
Server: +OK 3 messages (520 octets)
Server: 1 120
Server: 2 190
Server: 3 210
Server: .
Client: RETR 1
Server: +OK 120 octets
Server: <... sendet Nachricht 1>
Server: .
Client: DELE 1
Server: +OK message 1 deleted
Client: RETR 2
Server: +OK 190 octets
Server: <... sendet Nachricht 2>
Server: .
Client: DELE 2
Server: +OK message 2 deleted
Client: RETR 4
Server: -ERR no such message
Client: QUIT
Server: +OK
Spam-Server "Grum" abgeschaltet

Für alle die sich schon immer über zuviel Spam im Postfach geärgert haben gibt es eine gute...

TYPO3 Version 4.7 verfügbar

Die finalen Version des TYPO3 CMS Version 4.7 ist veröffentlicht worden. In TYPO3 4.7 wurde...

Schleusingen jetzt mit UTMS versorgt

In Schleusingen ab sofort mit bis zu 42,2 Megabit pro Sekunde im Internet surfen....

neuer RC TYPO3 4.7 veröffentlicht

Der neue Release-Kandidat 2 von TYPO3 4.7 wartet mit einer Vielzahl neuer Funktionen auf, außerdem...

TYPO3 4.4.12, 4.5.8 und 4.6.1 sind online

Heute wurde bekannt gegeben, dass ab sofort TYPO3 4.4.12, 4.5.8 und 4.6.1 zur Verfügung stehen. Es...

Das Hennebergische Gymnasium Schleusingen hat eine neue Website !

Nach langen Wochen der Erstellung und Redaktionsschulung ist die neue Website www.gym-schleusingen...