POP3 - Post Office Protocol Version 3
POP ist ein Kommunikationsprotokoll, um E-Mails von einem Posteingangsserver (POP-Server) abzuholen. Die Kommunikation erfolgt zwischen einem E-Mail-Client und einem E-Mail-Server (Posteingangsserver). Das Protokoll, das diesen Zugriff regelt, nennt sich POP (aus dem Jahr 1984), das in der aktuellen Version 3 vorliegt.
Bedeutung des Posteingangsservers
Der Empfang einer E-Mail setzt den Betrieb eines SMTP-Servers voraus. Dazu muss die Hardware aber auch rund um die Uhr laufen und funktionieren. Das ist bei nahezu allen Anwendern des Internets nicht der Fall. Viele wählen sich über Wählverbindungen (analoges Modem oder ISDN-Karte) ins Internet ein. Oder sie hängen mit ihrem Computer in einem Netzwerk und haben über einen Benutzer-Account Zugriff auf das Internet. Auch in diesem Fall ist der Computer nur dann an, wenn der Benutzer gerade arbeitet. Im Normalfall würde also selten ein SMTP-Server eines Anwenders erreichbar sein. Um diese Problematik zu umgehen werden E-Mails im letzten SMTP-Server zwischengespeichert.
Wie funktioniert POP?

Per Fernzugriff werden die gespeicherten E-Mails abgerufen und auf dem lokalen Computer gespeichert. POP sieht das Prinzip der Offline-Verarbeitung von E-Mails vor. Online werden die E-Mails vom Posteingangsserver vom E-Mail-Client heruntergeladen. Wenn sich darunter E-Mails mit einem großen Dateianhang befinden, kann der Download schon mal etwas länger dauern. Erst nach erfolgreichem und vollständigem Zugriff werden die E-Mails auf dem Server gelöscht. Die Bearbeitung der eingegangenen E-Mails erfolgt anschließend auf dem lokalen Computer des Benutzers ohne Verbindung (offline) POP-Server.
Die Verbindung zwischen POP-Server und E-Mail-Client erfolgt über TCP auf Port 110.
POP3-Befehle
Ist eine Verbindung zwischen POP3-Server und E-Mail-Client zustande gekommen, werden zur weiteren Kommunikation Kommandos ausgetauscht. Die POP3-Kommandos bestehen aus 3 bis 4 Zeichen und einen oder mehreren Parametern. Die Antwort des Servers auf ein Kommando enthält einen Status und optionale Informationen. Der Status ist entweder positiv (+OK) oder negativ (-ERR). Die folgenden Befehle stellen die Minimal-Implementierung des POP3-Protokolls dar.
| POP3-Kommando | Beschreibung |
|---|---|
| USER | Dieser Befehl identifiziert die Mailbox. |
| PASS | Nach der Anmeldung muss der Benutzer mit einem Passwort authentifiziert werden. |
| QUIT | Mit diesem Befehl wird die Verbindung zum POP3-Server beendet. Alle gespeicherten Änderungen werden dann ausgeführt. Zum Beispiel der Befehl DELE. |
| STAT | Dieser Befehl fordert vom Server die Anzahl der gespeicherten E-Mails an. Außerdem wird die Größe der Mailbox in Oktetts zurückgeliefert. |
| LIST | Dieser Befehl fordert vom Server die Nummer und Größe (in Oktetts) aller E-Mails an. Es kann auch die Größe einzelner E-Mails abgefragt werden. |
| RETR | Dieser Befehl veranlasst den Server die angeforderte E-Mail zu liefern. |
| DELE | Dieser Befehl veranlasst den Server die angeforderte E-Mail zu löschen. Dieser wird aber erst nach dem Beenden der Verbindung wirklich ausgeführt. |
| NOOP | Dieser Befehl dient zur Aufrechterhaltung der Verbindung. Ein Timeout würde sonst die Verbindung trennen. Als Antwort liefert der Server +OK. |
| RSET | Dieser Befehl setzt die aktive Verbindung zurück. Noch nicht ausgeführte Änderungen werden verworfen. Zum Beispiel der Befehl DELE. |
POP3-Sitzungen
Eine POP3-Verbindung umfasst mehrere Sitzungsstufen. Nach dem der POP3-Server die Verbindung mit einer positiven Meldung bestätigt hat, beginnt der "Authorization State", die Sitzung zur Benutzeranmeldung. Hier muss sich der E-Mail-Client gegenüber dem Server mit Benutzername und Passwort identifizieren. Nach erfolgreicher Identifizierung erfolgt der "Transaction State", die Sitzung zur Anforderung und Übermittlung der E-Mails. Hier werden alle Befehle zur Bearbeitung von E-Mails ausgeführt. Sendet der E-Mail-Client den Befehl QUIT, beginnt der "Update State", in dem alle vom E-Mail-Client angegebenen Änderungen ausgeführt werden. Die Verbindung über TCP ist zu diesem Zeitpunkt schon beendet. Der letzte Vorgang, der "Update State" stellt sicher, dass E-Mails nur dann auf dem Server gelöscht werden, wenn die Verbindung vom E-Mail-Client ordnungsgemäß beendet wurde. Ist die TCP-Verbindung während einer E-Mail-Übertragung zusammengebrochen oder ist es zu einem Timeout gekommen, dann sind noch nicht alle geladenen E-Mails verloren. Sie können nach einem nochmaligen Verbindungsaufbau heruntergeladen werden.
Beispiel für den Ablauf einer POP3-Verbindung
1: > USER ****** 2: < +OK 3: > PASS ****** 4: < +OK 5: > CAPA 6: < +OK 7: < EXPIRE 240 8: < LOGIN-DELAY 720 9: < TOP 10: < UIDL 11: < PIPELINE 12: < USER 13: < . 14: > LIST 15: < +OK 16: < MsgID Größe in Byte 17: < . 18: > STAT 19: < +OK MsgID Größe in Byte 20: > RETR MsgID 21: < +OK message follows 22: < E-MAIL 23: < . 24: > DELE MsgID 25: < +OK message MsgID deleted 26: > RSET 27: < +OK 28: > QUIT 29: < +OK
Analyse der POP3-Verbindung
- Nach dem Verbinungsaufbau meldet sich der E-Mail-Client mit dem Benutzername an. Meistens ist das die E-Mail-Adresse.
- Der Server liefert eine positive Antwort und erwartet das Passwort.
- Das Passwort wird vom E-Mail-Client in Klartext an den Server übermittelt.
- Der Server liefert eine positive Antwort zurück. Der Benutzer ist nun korrekt angemeldet.
- Der Client fragt die Fähigkeiten des POP3-Servers ab.
- Der Server liefert eine positive Antwort zurück.
- Anschließend liefert der POP3-Server hintereinander alle Fähigkeiten.
- Die Liste der Fähigkeiten wird vom Server mit einem . (Punkt) abgeschlossen.
- Mit LIST fordert der E-Mail-Client eine Liste aller vorliegenden E-Mails an.
- Der Server gibt eine positive Antwort zurück.
- Anschließend liefert er einzeln alle E-Mails mit Message-ID und Größe in Byte zurück.
- Die E-Mail-Liste wird vom Server mit einem . (Punkt) abgeschlossen.
- Mit STAT fordert der E-Mail-Client eine Liste aller ungelesenen E-Mails an.
- Der Server gibt eine positive Antwort und die E-Mail mit Message-ID und Größe in Byte zurück.
- Mit RETR fordert der E-Mail-Client diese E-Mail an. Er kennzeichnet die Forderung mit der Message-ID.
- Der Server gibt eine positive Antwort zurück.
- Anschließend liefert er die ausgewählte E-Mail.
- Der Server schließt mit einem Punkt das Ende der E-Mail ab.
- Der E-Mail-Client löscht die E-Mail.
- Der Server gibt eine positive Antwort zurück.
- Der E-Mail-Client setzt mit RSET die Verbindung zurück. Damit wurde auch der vorhergehende Befehl DELE verworfen.
- Der Server gibt eine positive Antwort zurück.
- Mit QUIT beendet der E-Mail-Client die Verbindung zum Server
- Der Server gibt eine positive Antwort zurück. Die Verbindung wird beendet.
Weitere verwandte Themen:
- SMTP - Simple Mail Transfer Protocol
- IMAP4 - Internet Mail Access Protocol Version 4
- NNTP - Network News Transfer Protocol
- MIME-Typen - Multipurpose Internet Mail Extensions
| Dieser Text ist mir was wert: | [ ? ] |






