Post Office Protocol
Anwendung | POP3 | |||
Transport | TCP | |||
Netzwerk | IP | |||
Netzzugang | Ethernet | Token Ring |
FDDI | ... |
POP3 (Post Office Protocol Version 3) ist ein Übertragungsprotokoll, über welches ein Client E-Mails von einem E-Mail-Server abholen kann. Es wird im RFC 1939 beschrieben. POP3 ist ein ASCII-Protokoll, wobei die Steuerung der Datenübertragung durch Kommandos geschieht, die standardmäßig an den Port 110 geschickt werden.
Eine ständige Verbindung zum Mailserver ist bei POP3 nicht notwendig. Die Verbindung wird bei Bedarf vom Client zum Server erzeugt und danach wieder beendet.
POP3 ist in der Funktionalität sehr beschränkt und erlaubt nur das Abholen und Löschen von E-Mails am E-Mail-Server. Für weitere Funktionalitäten 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 zum Versenden von E-Mails ist üblicherweise in Clients und Servern das SMTP-, bzw. ESMTP-Protokoll implementiert.
POP3 bietet optional die Authentifizierung über Benutzernamen und Passwort. Wird diese Möglichkeit genutzt, so wird das Passwort im Klartext übertragen. Deshalb wurden Erweiterungen zur Implementation der verschlüsselten Authentifizierung entwickelt: APOP und KPOP.
POP3-Clients
Üblicherweise ist POP3 in allen Standard-E-Mail-Clients integriert.
POP3-Server
Damit der Mailserver Anfragen per POP3 beantworten kann, muss eine entsprechende POP3-Server-Software installiert sein.
Bei Windows-E-Mail-Servern ist der POP3-Server in das entsprechende E-Mail-Server-Paket (z.B. Microsoft Exchange) integriert.
Im Unix-Bereich gibt es u. a. folgende POP3-Server-Software:
- courier-pop
- cyrus-pop3d (Teil der Cyrus-Mailserver-Software)
- ipopd
- popa3d
- qpop3d (Teil von qmail)
- qpopper (der Firma Qualcomm)
Kommandos
Bei einem erfolgreich durchgeführten Kommando antwortet der POP3-Server mit +OK, im Falle eines Fehlers mit -ERR.
Standardkommandos (auf jedem Server vorhanden):
- USER xxx
- wählt den Benutzernamen, bzw. das Benutzerkonto auf dem E-Mail-Server.
- PASS xxx
- STAT
- liefert den Status der Mailbox, u. a. die Anzahl der neuen E-Mails.
- 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 am E-Mail-Server.
- NOOP
- keine Funktion, der Server antwortet mit +OK.
- QUIT
- beendet die aktuelle POP3-Sitzung.
Optionale Kommandos (serverabhängig):
- APOP
- sichere Anmeldung, siehe APOP
- TOP n x
- ruft den Header und x Zeichen der n-ten Mail ab.
- UIDL n
- zeigt 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.
Eine typische POP3 Session könnte folgendermaßen aussehen:
> +OK example.com POP3-Server < USER wiki@example.com > +OK Please enter password < PASS passwort_im_klartext > +OK mailbox locked and ready < STAT > +OK 1 236 < LIST > +OK mailbox has 1 messages (236 octets) > 1 236 > . < RETR 1 > +OK message follows > > Date: Mon, 18 Oct 2004 04:11:45 +0200 > From: Someone <someone@example.com> > To: wiki@example.com > Subject: testmail > Content-Type: text/plain; charset=us-ascii; format=flowed > Content-Transfer-Encoding: 7bit > > Dies ist eine testmail > > . < DELE 1 > +OK message deleted < QUIT > +OK bye
APOP
Bei APOP wird nicht das Passwort im Klartext übertragen. Stattdessen überträgt der Server am Anfang der Sitzung einen Zeitstempel. Der Mailclient berechnet aus diesen Angaben und dem Passwort einen MD5-Hash, der dann an den Server übertragen wird. Sollte der Server zu demselben Ergebnis kommen, gilt der Loginvorgang als erfolgreich.