Post Office Protocol

Netzwerkprotokoll zum Abholen von E-Mails von E-Mail-Servern
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 10. Mai 2006 um 16:35 Uhr durch 193.170.198.148 (Diskussion) (POP3-Clients). Sie kann sich erheblich von der aktuellen Version unterscheiden.
POP3 im TCP/IP-Protokollstapel:
Anwendung POP3
Transport TCP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
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-Protokoll implementiert.

POP3-Clients

POPPEN ist GUUT

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. im integrierten Mail-Server von Windows Server 2003 oder bei Microsoft Exchange) integriert.

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 (der Firma Qualcomm)
  • ipop3d (aus dem IMAP Toolkit Environment von Mark Crispin)
  • Citadel

Kommandos

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 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.
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 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 geben Sie unter Windows oder Linux telnet example.com 110 in der Eingabeaufforderung oder in der Konsole ein. Domainname und Port werden durch Leerzeichen und nicht durch Doppelpunkt getrennt.)


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

S:  (wartet auf Verbindungen auf TCP Port 110)
C:  (öffnet Verbindung)

S:  +OK example.com POP3-Server
C:  USER wiki@example.com
S:  +OK Please enter password
C:  PASS passwort_im_klartext
S:  +OK mailbox locked and ready
C:  STAT
S:  +OK 1 236
C:  LIST
S:  +OK mailbox has 1 messages (236 octets)
S:  1 236
S:  .
C:  RETR 1
S:  +OK message follows
S:  Date: Mon, 18 Oct 2004 04:11:45 +0200
S:  From: Someone <someone@example.com>
S:  To:  wiki@example.com
S:  Subject: testmail
S:  Content-Type: text/plain; charset=us-ascii; format=flowed
S:  Content-Transfer-Encoding: 7bit
S: 
S:  Dies ist eine testmail
S:
S:  .
C:  DELE 1
S:  +OK message marked for delete
C:  QUIT
S:  +OK bye

S:  (schließt Verbindung)

APOP

Bei APOP wird das Passwort nicht mehr 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 successful.

Sicherheit

Wie auch SMTP ist POP3 recht simpel, um den Mailabruf weiter abzusichern, gibt es diverse Erweiterungen.

POP3 setzt die Authentifizierung des Benutzers über Benutzernamen und Passwort voraus. Das immer noch am häufigsten genutzte USER/PASS-Verfahren überträgt die Anmeldedaten jedoch im Klartext. Abhilfe schafft das ebenfalls im Standard definierte APOP (s.o.) oder bei vielen Servern verfügbare optionale Mechanismen wie PLAIN, LOGIN und die über SASL eingebundene.

Die Übertragung der Nachricht selbst kann statt in Klartext auch über SSL/TLS verschlüsselt erfolgen.

Literatur

  • RFC 1939 (Post Office Protocol - Version 3)
  • RFC 1082 (POP3 Extended Service Offerings)
  • RFC 1734 (POP3 AUTHentication command)
  • RFC 2595 (Using TLS with IMAP, POP3 and ACAP)
  • RFC 2449 (POP3 Extension Mechanism)
  • RFC 3206 (The SYS and AUTH POP Response Codes)