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 und das 1984 erstmals beschrieben wurde. Version 3 (POP3) von 1988 wird im RFC 1939 beschrieben.

POP3 ist in der Funktionalität sehr beschränkt und erlaubt nur das Auflisten, Abholen und Löschen von E-Mails am E-Mail-Server. Für weitere Funktionen wie hierarchische Mailboxen direkt am Mailserver, Zugriff auf mehrere Mailboxen während einer Sitzung, Vorselektion der E-Mails usw. müssen Protokolle wie IMAP verwendet werden.

Als Gegenstück zu POP3 ist für das Versenden von E-Mails üblicherweise in Clients und Servern das Simple Mail Transfer Protocol (SMTP) implementiert.

Geschichte 
Erstmals wurde das Post Office Protocol im Oktober 1984 in RFC 918 beschrieben. Bereits im Februar 1985 folgte das in RFC 937 beschriebene POP2, bevor POP3 erstmals im November 1988 in RFC 1081  erschien.

POP3 entspricht POP und POP2 in der grundsätzlichen Form. Die Vorgehensweise des Mailabrufs unterscheidet sich vor allem dadurch, dass die Notwendigkeit der Empfangsbereitschaft des Clients wegfällt sowie der korrekte Empfang einer Mail nicht mehr bestätigt zu werden braucht. Die geringere Komplexität und das Vorhandensein von „Übersichtsbefehlen“ wie STAT und LIST gehören zu den Merkmalen von POP3. Auch ist POP3 von Anfang an genauer und ausführlicher beschrieben.

Für POP4 wurde, inklusive funktionierender Serverimplementierung, ein Vorschlag dargelegt. Dieser Vorschlag enthält elementares Verzeichnismanagement, Unterstützung für multi-part messaging sowie Nachrichtenmarkierungen, was ein einfaches Protokoll ermöglicht, um einige populäre IMAP-Funktionen nachzurüsten, die in POP3 fehlen. Seit 2003 konnten aber keine Fortschritte mehr bei der Entwicklung von POP4 beobachtet werden.

POP3-Clients 
Das POP3-Protokoll ist in verbreiteten E-Mail-Programmen integriert, wird jedoch zunehmend von IMAP abgelöst.

POP3-Server 
Ein POP3-Server lauscht standardmäßig auf Port 110.

Bei Windows-E-Mail-Servern kann der POP3-Server in das entsprechende E-Mail-Server-Paket (z. B. im Mail-Server von Windows Server 2003 oder bei Server-Software wie beispielsweise Microsoft Exchange oder Lotus Domino) integriert sein. Bei Mercury/32 ist die POP3-Funktionalität als Modul vorhanden. Andere Softwarehersteller können weitere Lösungen vorsehen.

Im Unix-Bereich gibt es u. a. folgende POP3-Server-Software:
 courier-pop
 cyrus-pop3d (Teil der Cyrus-Mailserver-Software)
 Dovecot
 ipopd
 popa3d
 qpop3d (Teil von qmail)
 qpopper
 ipop3d (aus dem IMAP Toolkit Environment von Mark Crispin)
 Citadel/UX

Unterschiede zu IMAP 
POP3-Verbindungen werden bei Bedarf vom Client aufgebaut und beendet; nach der Anmeldung werden alle E-Mails vom Mailserver heruntergeladen.

Eine Synchronisierung zwischen den Clients findet per POP3 hingegen nicht statt. Wenn eine E-Mail gelöscht oder als „gelesen“ markiert wird, bleibt die Nachricht ungelöscht bzw. ungelesen auf allen anderen Geräten erhalten.

Dadurch unterscheidet sich POP3 von IMAP, das sowohl eine dauerhafte Verbindung zum Server als auch eine Synchronisierung zwischen Clients ermöglicht.

Kommandos 
POP3 ist ein textbasiertes Protokoll, das ASCII verwendet. Der Client sendet auf einer Zeile ein Kommando an den Server, der mit einer oder mehreren Zeilen antwortet.

Standardkommandos (auf jedem Server vorhanden):
 USER xxx wählt den Benutzernamen bzw. das Benutzerkonto auf dem E-Mail-Server.
 PASS xxx übergibt das Passwort in Klartext.
 STAT liefert den Status der Mailbox, u. a. die Anzahl aller E-Mails im Postfach und deren Gesamtgröße (in Byte).
 LIST n liefert die Anzahl und die Größe der (n-ten) E-Mail(s).
 RETR n holt die n-te E-Mail vom E-Mail-Server.
 DELE n löscht die n-te E-Mail auf dem E-Mail-Server.
 NOOP keine Funktion, der Server antwortet mit +OK.
 RSET setzt alle DELE-Kommandos zurück.
 QUIT beendet die aktuelle POP3-Sitzung und führt alle DELE-Kommandos durch.

Optionale Kommandos (serverabhängig):
 APOP sichere Anmeldung, s. u.
 TOP n x ruft den Header und die ersten x Zeilen der n-ten Mail ab.
 UIDL n zeigt die eindeutige ID der E-Mail an.

Zum Test von POP3-Verbindungen können die Kommandos mittels eines Telnet-Programms direkt an den Port 110 gesendet und die Antworten des POP3-Servers überprüft werden. (Für dieses Beispiel gibt man unter Windows oder Linux telnet example.com pop3 in der Eingabeaufforderung oder in der Konsole ein. Domain und Port werden durch Leerzeichen und nicht durch Doppelpunkt getrennt.)

Eine typische POP3-Session zwischen Server und Client könnte folgendermaßen aussehen:

Sicherheit

Authentifizierung 
Wie auch SMTP ist POP3 recht simpel. Es setzt die Authentifizierung des Benutzers über Benutzernamen und Passwort voraus. Nutzername und Passwort werden ungeschützt als Klartext übertragen. Das ermöglicht Angreifern den unbemerkten Zugriff auf die Mailbox und ist eine eklatante Sicherheitslücke. Um die Authentifizierung abzusichern, gibt es verschiedene Erweiterungen. Abhilfe schaffen die bei vielen Servern verfügbaren über SASL eingebundenen Mechanismen und das ebenfalls im Standard definierte APOP. Bei Benutzung von APOP wird das Passwort nicht mehr im Klartext übertragen. Stattdessen überträgt der Server am Anfang der Sitzung einen Zeitstempel. Der Mailclient berechnet aus diesem und dem Passwort einen Hash-Wert, der dann an den Server übertragen wird. Kommt der Server zu demselben Ergebnis, gilt der Loginvorgang als erfolgreich.

Verschlüsselung 
Authentifizierungsdaten, POP3-Kommandos und die Nachricht selbst können über SSL/TLS auch komplett verschlüsselt übertragen werden. Dabei wird alternativ das STARTTLS-Verfahren (das Kommando lautet STLS) auf dem Standard-TCP-Port 110 oder POP3 über SSL (POP3S) auf TCP-Port 995 verwendet.

Siehe auch 
 Internet Message Access Protocol (IMAP)
 Simple Mail Transfer Protocol (SMTP)
 Simple Mail Access Protocol (SMAP)

Literatur 
 Peer Heinlein, Peer Hartleben: POP3 und IMAP – Mailserver mit Courier und Cyrus. Open Source Press, 2007, ISBN 978-3-937514-11-6.

Weblinks 
 
 
 
 
 
 
 Liste mit POP3- und SMTP-Servern. patrick-canterino.de
 eine weitere Liste. tanmar.info

Einzelnachweise 

Internet-E-Mail-Protokoll
Internetstandard