POP3 Server

Der POP3 Server wird verwendet, um eine E-Mail zu laden.
Der Server kann ebenfalls verschlüsselte Verbindungen aufbauen, dies ist allerdings je nach Anbieter unterschiedlich.
Anbieter wie gmail.com oder auch hotmail.com unterstützden SSL-Verbindung und verlangen dies.
Er befindet sich für verschlüsselte unter dem Port 995 und für unverschlüsselte 110.
Es kann auch durchaus sein, dass ein Anbieter mehrere Ports unterstützt.

Verbindungsmöglichkeiten

Eine E-Mail lässt sich ganz einfach über ein schlichtes Programm laden, sobald dieses Programm einfache Nachrichten mit Hilfe der TCP-Protokolle senden kann.
Du kannst hier gerne den Befehl „telnet“, welcher unter MS Windows und ebenfalls unter den meisten Linux-Distributionen verfügbar ist verwenden. (Bei MS-Windows muss man „telnet“ erst aktivieren)
Für andere schlichte Verbindungen bietet sich das Programm „PuTTY“ an oder auch ein eigenes Programm natürlich.

Eine Mail laden

Dieses Beispiel arbeitet mit „telnet“, aber andere Programme sollten auch kein Problem sein, da es sich um eine normale Verbindung handelt und einfache Informationen ausgetauscht werden.
Nachdem wir unter MS Windows „cmd“ ausführen und unter Linux „terminal“ tippen wir folgendes für die Verbindung ein:

telnet ServerAdresse Port

Eine Liste der Server von diversen Anbietern ist unter HIER erreichbar.
Dieses Beispiel hier zeigt nun, wie man sich mit eine unverschlüsselte Verbindung mit dem Server verbindet.
Als Beispiel habe ich mir freenet.de ausgesucht, der Server wäre in diesem Fall: pop3.freenet.de.
Dafür tippen wir folgendes ein:

telnet pop.freenet.de 110

Der Server antwort entwender mit „+OK“ bei Erfolg und „-ERR“ bei Fehlern.
Bei Erfolg bekommen wir hier „+OK < 9588.1339969236@mx.freenet.de >“ (Eine Möglichkeit)
Nun will der Server uns kennen lernen, das heißt, wir müssen ihm unsere Logins-Informationen verraten. Dies geschieht mit „user“ und „pass“:

Client: user beispiel@freenet.de
Server: +OK user ok
Client: pass DankeFürsLesen
Server: +OK 10 messages (166818 octets).

Der Server teilt uns bei erfolgreichen Login mit, wie viele Nachrichten sich in unserem Postfach befinden, in diesem Fall sind das 10 Nachrichten.
Nun können wir, wie gewollt, unsere Mails abrufen.
Dies geschieht mit „retr“, welches für retrieve steht, auf Deutsch abrufen).
Retrieve erwartet ein Parameter: Die Nummer des Mails. Dies muss größer als oder auch 1 sein und darf natürlich nicht mehr als 10 sein. (10, weil wir 10 Nachrichten hier in unserem Beispiel haben).
Nun laden wir eine Mail:

Client: retr 1

Anschließend sollte der Server die „unformatierte“ Mail ausspucken und mit einem Punkt („.“) die Mail beenden.

SSL-Verbindung

Die SSL-Verbindung kann man unter Linux sehr angenehm mit: openssl s_client -connect <server_name>:995 aufheben.
Ein Beispiel dafür:

openssl s_client -connect pop.gmail.com:995

Und anschließend kann man wie schon erklärt mit normalen Befehlen den POP3-Server implementieren und weiter arbeiten.

Befehle

FIXME
quit – Keine Parameter, trennt die Verbindung.
Dele msgID – Löscht Mail Nummer msgID.
Stat – Keine Parameter, liefert Anzahl der Mails und Gesamtgröße.
List num – Parameter (optional), liefert eine Liste der Mails mit Längen.
Noop – Keine Parameter, gibt +OK oder -ERR zurück
rset – Kein Parameter, Behebt die Markierung bei markierten auf
Top num – Parameter (optional)
uidl num - Parameter (optional)