Wikipedia · einfach zusammengefasst · Stand
Post Office Protocol
Das Post Office Protocol (POP) ist ein Netzwerkprotokoll auf Anwendungsschicht, über das ein E-Mail-Programm E-Mails von einem E-Mail-Server abholen kann …
Inhalt5 Abschnitte
Aufgabe und Funktionsweise
Das Post Office Protocol (POP) ist ein Netzwerkprotokoll der Anwendungsschicht, mit dem ein E-Mail-Programm Nachrichten von einem E-Mail-Server abholt. Die verbreitete Version POP3, also Version 3, stammt aus dem Jahr 1988 und ist in RFC 1939 von 1996 beschrieben. POP3 verwendet TCP und arbeitet standardmäßig über Port 110/TCP; für POP3 über SSL wird Port 995/TCP genutzt.
POP3 besitzt nur einen begrenzten Funktionsumfang: Es kann E-Mails auf dem Server auflisten, herunterladen und löschen. Das Versenden von E-Mails gehört nicht zu seinen Aufgaben; dafür wird üblicherweise das Simple Mail Transfer Protocol (SMTP) eingesetzt.
Ein POP3-Client baut die Verbindung bei Bedarf auf, meldet sich am Server an und lädt die E-Mails herunter. Das Protokoll ist in verbreitete E-Mail-Programme integriert, wird jedoch zunehmend durch IMAP ersetzt. Ein POP3-Server wartet standardmäßig auf Port 110 auf Verbindungen. Die Serverfunktion kann Bestandteil eines vollständigen E-Mail-Server-Pakets oder als eigenes Modul umgesetzt sein. Genannte Serverprogramme aus dem Unix-Bereich sind unter anderem Dovecot, courier-pop, cyrus-pop3d, popa3d, qpopper und Citadel/UX.
Entwicklung des Protokolls
Die erste Fassung des Post Office Protocol wurde im Oktober 1984 in RFC 918 beschrieben. Im Februar 1985 folgte POP2 in RFC 937. POP3 erschien erstmals im November 1988 in RFC 1081.
POP3 behielt die Grundform von POP und POP2 bei, vereinfachte aber den Abruf. Der Client muss nicht mehr ausdrücklich seine Empfangsbereitschaft signalisieren, und der korrekte Empfang einer einzelnen E-Mail muss nicht bestätigt werden. Zu den Merkmalen gehören außerdem Übersichtsbefehle wie STAT und LIST sowie eine von Anfang an genauere und ausführlichere Beschreibung des Protokolls.
Für eine Nachfolgeversion POP4 gab es einen Vorschlag samt funktionierender Serverimplementierung. Vorgesehen waren elementares Verzeichnismanagement, Unterstützung für mehrteilige Nachrichten und Nachrichtenmarkierungen. Damit sollten einige verbreitete Funktionen von IMAP ergänzt werden, die POP3 fehlen. Seit 2003 wurden jedoch keine weiteren Fortschritte bei der Entwicklung von POP4 beobachtet.
Ablauf und wichtige Befehle
POP3 ist ein textbasiertes Protokoll und verwendet ASCII. Der Client sendet jeweils eine Befehlszeile; der Server antwortet mit einer oder mehreren Zeilen.
Die Standardkommandos sind:
- USER xxx wählt den Benutzernamen beziehungsweise das Benutzerkonto.
- PASS xxx übermittelt das Passwort im Klartext.
- STAT meldet den Zustand der Mailbox, besonders die Zahl aller E-Mails und ihre Gesamtgröße in Byte.
- LIST n liefert Anzahl und Größe der E-Mails beziehungsweise die Größe der n-ten E-Mail.
- RETR n lädt die n-te E-Mail vom Server herunter.
- DELE n markiert die n-te E-Mail zum Löschen.
- NOOP führt keine Aktion aus; der Server antwortet mit +OK.
- RSET nimmt alle während der Sitzung erteilten DELE-Kommandos zurück.
- QUIT beendet die Sitzung und führt die DELE-Kommandos aus.
Server können zusätzliche, optionale Kommandos anbieten. APOP ermöglicht eine sicherere Anmeldung. TOP n x ruft den Header, also die Kopfzeilen, und die ersten x Zeilen der n-ten Nachricht ab. UIDL n zeigt die eindeutige Kennung einer E-Mail an.
In einer typischen Sitzung öffnet der Client eine Verbindung zu Port 110. Nach der Begrüßung des Servers übermittelt er mit USER und PASS seine Anmeldedaten. Anschließend kann STAT beispielsweise mit „+OK 1 236“ melden, dass eine Nachricht mit einer Gesamtgröße von 236 Byte vorhanden ist. LIST führt die Nachricht mit ihrer Größe auf, RETR 1 überträgt sie und DELE 1 markiert sie zum Löschen. Erst QUIT beendet die Verbindung und führt die vorgemerkte Löschung aus. Mit RSET könnte der Client die Löschmarkierung zuvor wieder aufheben.
Zum Testen lassen sich POP3-Kommandos mit einem Telnet-Programm direkt an Port 110 senden. Als Beispiel nennt der Artikel den Aufruf „telnet example.com pop3“, wobei Domain und Port durch ein Leerzeichen getrennt werden.
Authentifizierung und Verschlüsselung
POP3 setzt eine Authentifizierung mit Benutzername und Passwort voraus. Bei der einfachen Anmeldung mit USER und PASS werden beide Angaben ungeschützt im Klartext übertragen. Angreifer könnten sie mitlesen und dadurch unbemerkt auf die Mailbox zugreifen; dies ist eine erhebliche Sicherheitslücke.
Zur sichereren Authentifizierung können über SASL eingebundene Mechanismen oder das im Standard definierte APOP verwendet werden. Bei APOP wird das Passwort nicht direkt übertragen. Der Server sendet zu Beginn der Sitzung einen Zeitstempel. Der Client berechnet aus diesem Zeitstempel und dem Passwort einen Hash-Wert, also einen daraus abgeleiteten Prüfwert, und sendet diesen an den Server. Berechnet der Server denselben Wert, ist die Anmeldung erfolgreich.
Mit SSL/TLS lassen sich nicht nur die Anmeldedaten, sondern auch die POP3-Kommandos und die E-Mail selbst vollständig verschlüsselt übertragen. Dafür gibt es zwei Verfahren: STARTTLS wird mit dem Kommando STLS auf dem Standardport 110 eingeleitet. Alternativ verwendet POP3 über SSL, auch POP3S genannt, den TCP-Port 995.
Abgrenzung zu IMAP
POP3 lädt nach der Anmeldung die E-Mails vom Server herunter, synchronisiert den Zustand der Mailbox aber nicht zwischen verschiedenen Clients oder Geräten. Wird eine Nachricht auf einem Gerät gelöscht oder als gelesen markiert, bleibt sie auf anderen Geräten weiterhin ungelöscht beziehungsweise ungelesen.
IMAP kann dagegen eine dauerhafte Verbindung zum Server und die Synchronisierung mehrerer Clients ermöglichen. Es unterstützt außerdem Funktionen, die POP3 fehlen, etwa hierarchische Mailboxen direkt auf dem Server, den Zugriff auf mehrere Mailboxen innerhalb einer Sitzung und die Vorselektion von E-Mails. Deshalb eignet sich POP3 vor allem für den einfachen Abruf, während für eine servergestützte Verwaltung und einen einheitlichen Stand auf mehreren Geräten IMAP benötigt wird.