Standard E-Mail-Protokolle und ihre Funktionsweisen

E-Mails sind aus unserem Alltag nicht mehr wegzudenken, und hinter den Kulissen sorgen E-Mail-Protokolle für einen reibungslosen Austausch zwischen Servern und Clients. Diese unsichtbaren Mechanismen ermöglichen es, Nachrichten zuverlässig über das Netzwerk zu senden und zu empfangen.

In diesem Artikel beleuchte ich die Funktionsweise von drei der am häufigsten verwendeten: POP3, IMAP und SMTP. Jedes dieser Protokolle bringt seine eigenen spezifischen Funktionen und Mechanismen mit sich.

POP / POP3

POP3 ist in dieser Übersicht das wohl älteste Mailprotokoll. Das „Post Office Protocol“ wurde im Oktober 1984 definiert und hat sich seitdem nur Spurweise weiterentwickelt bis zur „aktuellsten“ Version POP3. Wie der Name bereits vermuten lässt, ähnelt das Protokoll stark einem Gang zum „Post Office“ oder eben dem Häuslichen Briefkasten. Demnach ist POP3 ein Protokoll zum Empfangen bzw. Abrufen von E-Mails vom E-Mail-Server.

 

Sobald sich ein Mail-Client über POP mit dem Emailserver verbindet, werden alle Daten aus dem Postfach heruntergeladen und auf dem lokalen Datenträger des E-Mail-Clients gespeichert. Die heruntergeladenen Daten werden dabei außerdem vom Server gelöscht. Genau wie beim Gang zum Briefkasten. Hier werden die Briefe (Mails) aus dem Briefkasten (E-Mail-Mailbox) genommen und mitgenommen (auf lokalem Datenträger gesichert). Dabei wird keine Kopie im Briefkasten (E-Mail-Mailbox) hinterlassen.

 

Das Protokoll ist sehr einfach aufgebaut und somit auch einfach zu administrieren und zusätzlich ist es dadurch auch wenig Fehleranfällig. Darüber hinaus befinden sich alle Mails auf dem Client, wodurch auch offline mit den Postfachdaten gearbeitet werden kann. Das Arbeiten mit den bereits heruntergeladenen Daten ist zudem deutlich schneller, als wenn die Daten zuerst noch einzeln heruntergeladen werden müssten.

 

Doch die Nachteile überwiegen in einer modernen IT-Welt deutlich, wodurch das POP-Protokoll nach und nach durch moderne Protokolle ersetzt wird.

 

Nachteile Es gibt meist nur eine Kopie der Daten, da nach dem Client Download die Daten vom Server gelöscht werden. Bei moderneren Webservern kann zwar eine Kopie der Daten auf dem Mailserver behalten werden allerdings ist das nicht immer die Regel. Dadurch kann es logischerweise zu Datenverlust kommen. Außerdem bietet POP3 keine bidirektionale Synchronisation, wodurch gängige Dinge in einem E-Mail-Postfach nicht möglich sind, wie beispielsweise das synchronisierte Markieren von E-Mails über mehrere Geräte hinweg oder das synchronisieren von gesendeten Mails an andere Geräte. Diese sind immer nur auf dem Gerät gespeichert, von dem sie gesendet wurden. Auch benutzerdefinierte Ordner werden nicht synchronisiert. Sollte man also über den E-Mail-Client in einem POP-Postfach einen Ordner beispielsweise unter Posteingang anlegen wird dieser nur auf dem Gerät dargestellt, auf dem er auch angelegt wurde. Alle anderen Geräte sehen nur den Posteingang.

POP3 Ports

Protokoll Verschlüsselung Port
POP3
Keine
110
POP3s
SSL/TLS
995

IMAP

Genau da, wo POP3 seine Limitierungen und Einschränkungen hat setzt IMAP ein. Modernere E-Mail-Anbieter und E-Mail-Clients setzten automatisch bereits auf IMAP. IMAP steht für „Internet Message Access Protocol“ und wurde ebenfalls in den 80er Jahren definiert und seitdem ist es nicht mehr aus der E-Mail-Welt wegzudenken. Wie auch POP3 ist IMAP für den Empfang bzw. das Abrufen von Postfachdaten vom E-Mail-Server zuständig.

 

Beim Abruf von E-Mails ist IMAP dennoch viel umfangreicher als POP3 und wird daher mittlerweile bevorzugt. Denn anders als POP werden beim Abruf des Postfachs via IMAP alle Daten, auf allen verbundenen Clients synchronisiert. Es werden also auf allen verbundenen Clients Ordner für Ordner alle Daten heruntergeladen. Dabei wird auch nicht nur der Posteingang, sondern auch eigens angelegte Ordner synchronisiert.

 

Und hier wird auch der große Vorteil gegenüber zu POP3 klar. IMAP biete einen bidirektionalen Sync. des Postfachs an. Wenn ein Postfach also über IMAP abgerufen wurde, kann es über den Mailclient auch verändert werden. Es können also Ordner angelegt werden, Mails können verschoben und markiert werden, etc. Diese Änderungen werden über IMAP auch zurück auf den Server geschrieben, wodurch die Änderungen auf allen, über IMAP verbundenen Clients synchron sind.

 

Doch auch IMAP bietet einige Nachteile in der Nutzung. Dazu gehören beispielsweise, dass eine gelöschte Mail auch auf dem Server, bzw. auch auf allen anderen Geräten, auf denen das Postfach synchronisiert wird, gelöscht wird. Außerdem könnte ein Nachteil sein, dass der Zugriff auf Anhänge etc. je nach Internetgeschwindigkeit länger dauert, wenn beispielsweise nicht mit zwischengespeicherten (gecachten) Daten gearbeitet wird.

IMAP Ports

Protokoll Verschlüsselung Port
IMAP
Keine
143
IMAPs
SSL/TLS
993

SMTP

Da man E-Mails aber zum Informationsaustausch nutzt und wir nun nur über eingehende Protokolle gesprochen haben folgt nun SMTP. SMTP steht für „Simple Mail Transfer Protocol“ und wird für das Senden von E-Mails genutzt. Dabei wird es sowohl für das Senden von Server zu Server als auch von Client zu Server genutzt. SMTP wurde in den 90er Jahren – genauer gesagt im August 1982 – im RFC 821 definiert.

Beim Versand von Mails mit SMTP spielt auch das DNS eine sehr wesentliche Rolle. Bei SMTP-Versand prüft der SMTP-Server nämlich den MX-Eintrag der Empfänger Domäne und senden die E-Mail dort hin. Wenn eine E-Mail also an kontakt@tech-tip.de gesendet wird prüft der sendende E-Mail-Server, welcher MX-Eintrag für die Empfänger Domäne – also tech-tip.de – hinterlegt ist. In diesem Beispiel wäre das dann smtpin.rzone.de. Dies ist der SMTP-Empfänger Server von Strato AG wo das Postfach kontakt@tech-tip.de auch gehostet wird. Genau dort wird die Mail dann hingesendet und vom Empfänger weiterverarbeitet.

Doch auch hier gibt es Probleme. SMTP fordert beispielsweise keine Authentisierung eines Benutzers an, wenn man versucht eine Verbindung aufzubauen. Dadurch kann beim Versenden beispielsweise eine willkürliche Sender-E-Mail-Adresse angegeben werden, die vielleicht überhaupt nicht existiert.

SMTP verwendet zum Senden von Mails ein Set an Befehlen, nach dem Verbindungsaufbau, um Daten zu übermitteln:

 

SMTP-Befehl Beschreibung
HELO oder EHLO
HELO oder auch EHLO startet die SMTP-Sitzung und identifiziert den Client als solchen am Server.
MAIL
MAIL startet die Mailübertragung.
RCPT
RCPT gibt die Empfänger-Adresse(n) an.
DATA
DATA startet die Übermittlung der eigentlichen E-Mail-Nachricht. Das Ende der E-Mail-Nachricht wird mit "CRLF.CRLF“ gesetzt.
RSET
Mit RSET wird die bereits gestartete Mailübertragung abgebrochen. Die Verbindung zwischen dem SMTP-Client und dem Server bleibt dabei bestehen.
VRFY
Mit VRFY kann die angegebene Empfänger-Adresse überprüft werden.
NOOP
NOOP fordert den SMTP-Server auf eine Antwort zu geben, um einen Timeout der Verbindung zu verhindern.
QUIT
QUIT beendet die Verbindung zum SMTP-Server.

Mit diesen Befehlen kann beispielsweise auch über Telnet eine Verbindung an die meisten E-Mail-Server aufgebaut werden, über die dann wiederum eine SMTP-Session gestartet werden kann und E-Mails versendet werden können. Hierbei spielt es auch keine Rolle, ob die Empfänger intern oder extern sind.

Eine SMTP-Nachricht hat auch immer einen ganz bestimmten Aufbau. Der wichtigste Teil ist hierbei der sogenannte Header. In diesem befinden sich alle relevanten Informationen, wie beispielsweise Sender, Empfänger, Zeitstempel, Betreff, etc. Hier einige wichtige Dinge aus dem SMTP-Header:

FROM ist der Absender

TO ist der Empfänger

SUBJECT ist der Mail-Betreff

Reply-TO ist die Adresse, an die eine Antwort gesendet würde. Hier steht meist der Absender

Content-Type beschreibt das Format des Mail Bodys. Meistens also TXT/Plain oder HTML

REVEIVED beinhaltet alle Server, durch die die E-Mail geroutet wurde, bis zum Ziel.

MESSAGE-ID ist eine Nummer, die zufällig generiert wird, um die Mail nachverfolgen zu können

MIME beschreibt die MIME-Version die genutzt wurde

SMTP Ports

Protokoll Verschlüsselung Port
SMTP
Keine
25
SMTPs
SSL/TLS
587

Es gab eine Zeit, in der auch der Port 465 für SMTPs verwendet wurde, doch dies wurde nach nicht allzu langer Zeit nochmal widerrufen. Dennoch wird der Port 465 noch von einigen Dienstanbietern als SMTPs Port akzeptiert und verwendet. Sollte es möglich sein, sollte allerdings der Standardisierte Port 587 verwendet werden, der offiziell auch für SMTs vorgesehen ist.

E-Mail Routing

Das gesamte E-Mail Routing zwischen einem Sender und einem Empfänger würde dann beispielsweise wie folgt aussehen.

EMPFANG VIA IMAP

EMPFANG VIA POP3

1 Kommentar
Inline Feedbacks
View all comments