POP3: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
'''topic''' kurze Beschreibung | |||
= Beschreibung = | |||
= Installation = | |||
= Syntax = | |||
== Parameter == | |||
== Optionen == | |||
== Umgebungsvariablen == | |||
== Exit-Status == | |||
= Konfiguration = | |||
== Dateien == | |||
= Anwendungen = | |||
= Sicherheit = | |||
= Dokumentation = | |||
== RFC == | |||
== Man-Pages == | |||
== Info-Pages == | |||
== Siehe auch == | |||
= Links = | |||
== Projekt-Homepage == | |||
== Weblinks == | |||
== Einzelnachweise == | |||
<references /> | |||
= Testfragen = | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 1'' | |||
<div class="mw-collapsible-content">'''Antwort1'''</div> | |||
</div> | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 2'' | |||
<div class="mw-collapsible-content">'''Antwort2'''</div> | |||
</div> | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 3'' | |||
<div class="mw-collapsible-content">'''Antwort3'''</div> | |||
</div> | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 4'' | |||
<div class="mw-collapsible-content">'''Antwort4'''</div> | |||
</div> | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 5'' | |||
<div class="mw-collapsible-content">'''Antwort5'''</div> | |||
</div> | |||
= TMP = | |||
{| class="wikitable float-right" | |||
|- | |||
! style="background:#C0C0FF" colspan="2" font="size:larger"| POP3 (Post Office Protocol Version 3) | |||
|- | |||
| '''Familie:''' | |||
| [[Internetprotokollfamilie]] | |||
|- | |||
| '''Einsatzgebiet:''' | |||
| Abholen von [[E-Mail]] vom Provider | |||
|- | |||
| '''Port:''' || 110/TCP<br />995/TCP (Verschlüsselt) | |||
|- | |||
| align="center" colspan="2" | | |||
{{Netzwerk-TCP-IP-Anwendungsprotokoll|POP3|}} | |||
|- | |||
| '''Standards:''' | |||
| RFC 1939 (POP3, 1996) | |||
|} | |||
Das '''Post Office Protocol''' ('''POP''') ist ein Übertragungs[[Netzwerkprotokoll|protokoll]], über das ein [[Client]] [[E-Mail]]s von einem [[E-Mail-Server]] abholen kann. Version 3 ('''POP3''') wird im RFC 1939 beschrieben. POP3 ist ein [[ASCII-Protokoll]], wobei die Steuerung der Datenübertragung durch [[Anweisung (Programmierung)|Kommandos]] geschieht, die standardmäßig an den [[Port (Protokoll)|Port]] 110 geschickt werden. | |||
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 [[Internet Message Access Protocol|IMAP]] verwendet werden. | |||
Als Gegenstück zu POP3 ist für das Versenden von [[E-Mail]]s ü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 [[Multipurpose Internet Mail Extensions#multipart|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.<ref> | |||
{{cite web|url=http://www.pop4.org/pop4/pop4spec.html|title=POP4 specification although pop is used to receive mail after system is not online.|date=|accessdate=2011-10-17|last=|first=|archiveurl=https://web.archive.org/web/20110927130531/http://www.pop4.org/pop4/pop4spec.html|archivedate=2011-09-27|offline=yes|year=2003|archivebot=}} | |||
</ref> | |||
== POP3-Clients == | |||
Das POP3-Protokoll ist in allen verbreiteten [[E-Mail-Programm]]en integriert. | |||
== POP3-Server == | |||
Damit der Mailserver Anfragen per POP3 beantworten kann, muss eine entsprechende POP3-Server-Software installiert sein. | |||
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 MTS|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 Mail Server|courier-pop]] | |||
* cyrus-pop3d (Teil der [[Cyrus (Server)|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 == | |||
Standardkommandos (auf jedem Server vorhanden): | |||
; <code>USER xxx</code>: wählt den [[Benutzername]]n bzw. das [[Benutzerkonto]] auf dem E-Mail-Server. | |||
; <code>PASS xxx</code>: übergibt das [[Passwort]] in [[Klartext (Kryptographie)|Klartext]]. | |||
; <code>STAT</code>: liefert den Status der Mailbox, u. a. die Anzahl aller E-Mails im Postfach und deren Gesamtgröße (in Byte). | |||
; <code>LIST n</code>: liefert die Anzahl und die Größe der (''n''-ten) E-Mail(s). | |||
; <code>RETR n</code>: holt die ''n''-te E-Mail vom E-Mail-Server. | |||
; <code>DELE n</code>: löscht die ''n''-te E-Mail am E-Mail-Server. | |||
; <code>NOOP</code>: keine Funktion, der Server antwortet mit +OK. | |||
; <code>RSET</code>: setzt alle DELE-Kommandos zurück. | |||
; <code>QUIT</code>: beendet die aktuelle POP3-Sitzung und führt alle DELE-Kommandos durch. | |||
Optionale Kommandos (serverabhängig): | |||
; <code>APOP</code>: sichere Anmeldung, [[#Sicherheit|s. u.]] | |||
; <code>TOP n x</code>: ruft den Header und die ersten ''x'' Zeilen der ''n''-ten Mail ab. | |||
; <code>UIDL n</code>: 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 (Internet)|Domain]] und [[Port (Protokoll)|Port]] werden durch Leerzeichen und nicht durch Doppelpunkt getrennt.) | |||
Eine typische POP3-Session zwischen Server und Client könnte folgendermaßen aussehen: | |||
{| border="0" cellpadding="5" cellspacing="0" style="font-family:monospace;" | |||
!Client | |||
!Server | |||
|- | |||
|bgcolor="#C0C0FF"| | |||
|bgcolor="#C0C0FF"|(wartet auf Verbindungen auf TCP Port 110) | |||
|- | |||
|bgcolor="#FFFFB0"|(öffnet Verbindung) | |||
|bgcolor="#FFFFB0"| | |||
|- | |||
|bgcolor="#C0C0FF"| | |||
|bgcolor="#C0C0FF"|+OK example.com POP3-Server | |||
|- | |||
|bgcolor="#FFFFB0"|USER wiki@example.com | |||
|bgcolor="#FFFFB0"| | |||
|- | |||
|bgcolor="#C0C0FF"| | |||
|bgcolor="#C0C0FF"|+OK Please enter password | |||
|- | |||
|bgcolor="#FFFFB0"|PASS passwort_im_klartext | |||
|bgcolor="#FFFFB0"| | |||
|- | |||
|bgcolor="#C0C0FF"| | |||
|bgcolor="#C0C0FF"|+OK mailbox locked and ready | |||
|- | |||
|bgcolor="#FFFFB0"|STAT | |||
|bgcolor="#FFFFB0"| | |||
|- | |||
|bgcolor="#C0C0FF"| | |||
|bgcolor="#C0C0FF"|+OK 1 236 | |||
|- | |||
|bgcolor="#FFFFB0"|LIST | |||
|bgcolor="#FFFFB0"| | |||
|- | |||
|bgcolor="#C0C0FF"| | |||
|bgcolor="#C0C0FF"|+OK mailbox has 1 messages (236 octets)<br />1 236<br />. | |||
|- | |||
|bgcolor="#FFFFB0"|RETR 1 | |||
|bgcolor="#FFFFB0"| | |||
|- | |||
|bgcolor="#C0C0FF"| | |||
|bgcolor="#C0C0FF"|+OK message follows<br />Date: Mon, 18 Oct 2004 04:11:45 +0200<br />From: Someone <someone@example.com><br />To: wiki@example.com<br />Subject: Test-E-Mail<br />Content-Type: text/plain; charset=us-ascii; format=flowed<br />Content-Transfer-Encoding: 7bit<br /><br />Dies ist eine Test-E-Mail<br /><br />.<br /> | |||
|- | |||
|bgcolor="#FFFFB0"|DELE 1 | |||
|bgcolor="#FFFFB0"| | |||
|- | |||
|bgcolor="#C0C0FF"| | |||
|bgcolor="#C0C0FF"|+OK message marked for delete | |||
|- | |||
|bgcolor="#FFFFB0"|QUIT | |||
|bgcolor="#FFFFB0"| | |||
|- | |||
|bgcolor="#C0C0FF"| | |||
|bgcolor="#C0C0FF"|+OK bye<br />(schließt Verbindung und führt DELE Befehl aus) | |||
|} | |||
== 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 [[Simple Authentication and Security Layer|SASL]] eingebundenen Mechanismen und das ebenfalls im Standard definierte [[Authenticated Post Office Protocol|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-Funktion|Hash-Wert]], der dann an den Server übertragen wird. Kommt der Server zu demselben Ergebnis, gilt der [[Login (Benutzeranmeldung)|Loginvorgang]] als erfolgreich. | |||
=== Verschlüsselung === | |||
Authentifizierungsdaten, POP3-Kommandos und die Nachricht selbst können über [[Secure Sockets Layer|SSL]]/[[Transport Layer Security|TLS]] auch komplett verschlüsselt übertragen werden. Dabei wird alternativ das [[STARTTLS]]-Verfahren (das Kommando lautet STLS) auf dem Standard-TCP-Port 110 oder [[POP3S|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) | |||
== Einzelnachweise == | |||
<references /> | |||
== 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) | |||
* [[Peer Heinlein]], Peer Hartleben: ''POP3 und IMAP -- Mailserver mit Courier und Cyrus'', [[Open Source Press]], September 2007, ISBN 978-3-937514-11-6 | |||
== Weblinks == | |||
* [https://www.patrick-canterino.de/pop3-smtp/ Liste mit POP3- und SMTP-Servern] | |||
* [http://www.tanmar.info/content/view/21/50/ eine weitere Liste] | |||
[[Kategorie:Internet-Anwendungsprotokoll]] | |||
[[Kategorie:Internet-E-Mail-Protokoll]] | |||
[[Category:Mail:Protokolle]] | [[Category:Mail:Protokolle]] |
Version vom 25. Mai 2022, 08:40 Uhr
topic kurze Beschreibung
Beschreibung
Installation
Syntax
Parameter
Optionen
Umgebungsvariablen
Exit-Status
Konfiguration
Dateien
Anwendungen
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Siehe auch
Links
Projekt-Homepage
Weblinks
Einzelnachweise
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5
TMP
POP3 (Post Office Protocol Version 3) | |
---|---|
Familie: | Internetprotokollfamilie |
Einsatzgebiet: | Abholen von E-Mail vom Provider |
Port: | 110/TCP 995/TCP (Verschlüsselt) |
Standards: | RFC 1939 (POP3, 1996) |
Das Post Office Protocol (POP) ist ein Übertragungsprotokoll, über das ein Client E-Mails von einem E-Mail-Server abholen kann. Version 3 (POP3) 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.
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.[1]
POP3-Clients
Das POP3-Protokoll ist in allen verbreiteten E-Mail-Programmen integriert.
POP3-Server
Damit der Mailserver Anfragen per POP3 beantworten kann, muss eine entsprechende POP3-Server-Software installiert sein.
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
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 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 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:
Client | Server |
---|---|
(wartet auf Verbindungen auf TCP Port 110) | |
(öffnet Verbindung) | |
+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: Test-E-Mail Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Dies ist eine Test-E-Mail . | |
DELE 1 | |
+OK message marked for delete | |
QUIT | |
+OK bye (schließt Verbindung und führt DELE Befehl aus) |
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)
Einzelnachweise
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)
- Peer Heinlein, Peer Hartleben: POP3 und IMAP -- Mailserver mit Courier und Cyrus, Open Source Press, September 2007, ISBN 978-3-937514-11-6