Was ist das Simple Mail Transfer Protocol (SMTP)?

Das Simple Mail Transfer Protocol (SMTP) ist ein Netzwerkstandard für den Versand von E-Mails.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Erklären, wie das Simple Mail Transfer Protocol (SMTP) funktioniert
  • SMTP-Befehle, -Server und -Umschläge verstehen
  • Extended SMTP (ESMTP) definieren

Link zum Artikel kopieren

Was ist das Simple Mail Transfer Protocol (SMTP)?

Das Simple Mail Transfer Protocol (SMTP) ist ein technischer Standard für die Übermittlung elektronischer Post (E-Mail) über ein Netzwerk. Wie andere Netzwerkprotokolle ermöglicht SMTP den Datenaustausch zwischen Computern und Servern unabhängig von der zugrunde liegenden Hardware oder Software. Genauso wie die Verwendung einer standardisierten Form der Beschriftung eines Briefumschlags ein Funktionieren des Postdienstes ermöglicht, standardisiert SMTP die Art und Weise, wie E-Mails vom Absender zum Empfänger übertragen werden, und ermöglicht so eine weit verbreitete E-Mail-Zustellung.

SMTP ist ein Protokoll für die Zustellung von E-Mails, nicht für den Abruf von E-Mails. Ein Postdienst stellt die Post in einen Briefkasten zu, aber der Empfänger muss die Post immer noch aus dem Briefkasten abholen. In ähnlicher Weise stellt SMTP eine E-Mail an den Mailserver eines E-Mail-Anbieters zu. Damit der Empfänger die E-Mail lesen kann, werden jedoch separate Protokolle für den Abruf der E-Mail vom Mailserver verwendet.

Wie funktioniert SMTP?

Alle Netzwerkprotokolle folgen einem vordefinierten Prozess zum Austausch von Daten. SMTP definiert einen Prozess für den Austausch von Daten zwischen einem E-Mail-Client und einem Mail-Server. Ein E-Mail-Client ist das, womit ein Benutzer interagiert: der Computer oder die Webanwendung, über die er auf E-Mails zugreift und sie versendet. Ein Mailserver ist ein spezialisierter Computer für das Senden, Empfangen und Weiterleiten von E-Mails; Benutzer interagieren nicht direkt mit Mailservern.

Folgende Übersicht zeigt, was zwischen dem E-Mail-Client und dem Mailserver passiert, damit eine E-Mail versendet werden kann:

  • SMTP-Verbindung wird eröffnet: Da SMTP das Transmission Control Protocol (TCP) als Transportprotokoll verwendet, beginnt dieser erste Schritt mit einer TCP-Verbindung zwischen Client und Server. Als nächstes beginnt der E-Mail-Client den E-Mail-Versand mit einem speziellen „Hello“-Befehl (HELO oder EHLO, siehe unten).
  • E-Mail-Daten werden übertragen: Der Client sendet dem Server eine Reihe von Befehlen zusammen mit dem eigentlichen Inhalt der E-Mail: den E-Mail-Header (einschließlich Ziel und Betreffzeile), den E-Mail-Text und alle zusätzlichen Komponenten.
  • Mail Transfer Agent (MTA): Auf dem Server läuft ein Programm namens Mail Transfer Agent (MTA). Der MTA überprüft die Domain der E-Mail-Adresse des Empfängers. Wenn sie sich von jener des Absenders unterscheidet, fragt er das Domain Name System (DNS) ab, um die IP-Adresse des Empfängers zu finden. Das ist so, als ob ein Postamt die Postleitzahl eines Postempfängers herausfinden würde.
  • Verbindung wird geschlossen: Der Client benachrichtigt den Server, wenn die Übertragung der Daten abgeschlossen ist, und der Server schließt die Verbindung. Zu diesem Zeitpunkt erhält der Server keine weiteren E-Mail-Daten vom Client, es sei denn, der Client öffnet eine neue SMTP-Verbindung.

In der Regel ist dieser erste E-Mail-Server nicht das endgültige Ziel der E-Mail. Nachdem der Server die E-Mail vom Client erhalten hat, wiederholt er diesen SMTP-Verbindungsprozess mit einem anderen Mailserver. Dieser zweite Server macht dasselbe, bis die E-Mail schließlich den Posteingang des Empfängers auf einem Mailserver erreicht, der vom E-Mail-Anbieter des Empfängers kontrolliert wird.

Vergleichen Sie diesen Prozess mit der Art und Weise, wie ein Brief mittels Post vom Absender zum Empfänger gelangt. Ein Briefträger bringt einen Brief nicht direkt vom Absender zum Empfänger. Stattdessen bringt der Briefträger den Brief zurück zu seinem Postamt. Das Postamt befördert den Brief zu einem anderen Postamt in einer anderen Stadt, dann zu einem weiteren und so weiter, bis der Brief den Empfänger erreicht. Auf ähnliche Weise gehen E-Mails über SMTP von Server zu Server, bis sie im Posteingang des Empfängers ankommen.

Was ist ein SMTP-Umschlag?

Der SMTP-„Umschlag“ ist eine Reihe von Informationen, die der E-Mail-Client an den Mail-Server sendet, um zu erfahren, woher die E-Mail kommt und wohin sie unterwegs ist. Der SMTP-Umschlag unterscheidet sich vom Header und Body der E-Mail und ist für den Empfänger nicht sichtbar.

Was sind SMTP-Befehle?

SMTP-Befehle sind vordefinierte textbasierte Anweisungen, die einem Client oder Server mitteilen, was zu tun ist und wie die begleitenden Daten zu behandeln sind. Betrachten Sie sie als Knöpfe, die der Client drücken kann, um den Server dazu zu bringen, Daten korrekt anzunehmen.

  • HELO/EHLO: Diese Befehle sagen „Hallo“ und starten die SMTP-Verbindung zwischen Client und Server. „HELO“ ist die grundlegende Version dieses Befehls; „EHLO“ ist für eine spezielle Art von SMTP.
  • MAIL FROM: Damit teilen Sie dem Server mit, von wem die E-Mail stammt. Wenn Alice versuchen würde, eine E-Mail an ihren Freund Bob zu senden, könnte ein Client „MAIL FROM:“ senden.
  • RCPT TO: Mit diesem Befehl können Sie die Empfänger der E-Mail auflisten. Ein Client kann diesen Befehl mehrere Male senden, wenn es mehrere Empfänger gibt. Im obigen Beispiel würde der E-Mail-Client von Alice „RCPT TO:<bob@example.com“ senden.
  • DATA: Dies wird dem Inhalt der E-Mail vorangestellt, etwa so:

DATA
Date: Mon, 4 April 2022
From: Alice alice@example.com
Subject: Eggs Benedict-Auflauf
To: Bob bob@example.com

Hallo Bob,
Ich werde das Rezept für den Eggs Benedict-Auflauf am Freitag mitbringen.
-Alice
.
  • RSET: Dieser Befehl setzt die Verbindung zurück und entfernt alle zuvor übertragenen Informationen, ohne die SMTP-Verbindung zu schließen. RSET wird verwendet, wenn der Client falsche Informationen gesendet hat.
  • QUIT: Dies beendet die Verbindung.

Was ist ein SMTP-Server?

Ein SMTP-Server ist ein Mailserver, der E-Mails über das SMTP-Protokoll senden und empfangen kann. E-Mail-Clients stellen eine direkte Verbindung mit dem SMTP-Server des E-Mail-Anbieters her, um mit dem Versand einer E-Mail zu beginnen. Auf einem SMTP-Server laufen mehrere verschiedene Softwareprogramme:

  • Mail Submission Agent (MSA): Der MSA empfängt E-Mails vom E-Mail-Client.
  • Mail Transfer Agent (MTA): Der MTA leitet E-Mails an den nächsten Server in der Übermittlungskette weiter. Wie oben beschrieben, kann es das DNS abfragen, um den Mail Exchange (MX) DNS-Eintrag der Empfänger-Domain zu finden, falls erforderlich.
  • Mail Delivery Agent (MDA): Der MDA empfängt E-Mails von MTAs und speichert sie im E-Mail-Posteingang des Empfängers.

Welchen Port verwendet SMTP?

In Netzwerken ist ein Port der virtuelle Punkt, an dem Netzwerkdaten empfangen werden; stellen Sie sich das wie die Wohnungsnummer in der Adresse einer Postsendung vor. Ports helfen Computern, Netzwerkdaten an die richtigen Anwendungen weiterzuleiten. Maßnahmen zur Netzwerksicherheit wie z.B. Firewalls können unnötige Ports blockieren, um das Senden und Empfangen von bösartigen Daten zu verhindern.

In der Vergangenheit hat SMTP nur Port 25 verwendet. Heutzutage wird Port 25 immer noch für SMTP verwendet, doch können auch die Ports 465, 587 und 2525 genutzt werden.

  • Port 25 wird meist für Verbindungen zwischen SMTP-Servern verwendet. Firewalls für die Netzwerke von Endbenutzern blockieren diesen Port heute häufig, da Spammer versuchen, ihn für den Versand großer Mengen von Spam zu missbrauchen.
  • Port 465 war früher für die Verwendung von SMTP mit Secure Sockets Layer (SSL)-Verschlüsselung vorgesehen. Aber SSL wurde durch Transport Layer Security (TLS) ersetzt, und moderne E-Mail-Systeme verwenden daher diesen Port nicht. Sie erscheint nur in älteren (veralteten) Systemen.
  • Port 587 ist jetzt der Standardport für die Übermittlung von E-Mails. Bei der SMTP-Kommunikation über diesen Port wird TLS-Verschlüsselung verwendet.
  • Port 2525 ist nicht offiziell mit SMTP verbunden, aber einige E-Mail-Dienste bieten SMTP-Zustellung über diesen Port an, falls die oben genannten Ports blockiert sind.

SMTP vs. IMAP und POP

Das Internet Message Access Protocol (IMAP) und das Post Office Protocol (POP) werden verwendet, um die E-Mail an ihren endgültigen Empfänger zuzustellen. Der E-Mail-Client muss die E-Mails vom letzten Mailserver in der Kette abrufen, um sie dem Benutzer anzeigen zu können. Der Client verwendet hierfür IMAP oder POP anstelle von SMTP.

Um den Unterschied zwischen SMTP und IMAP/POP zu verstehen, denken Sie an den Unterschied zwischen einem Holzbrett und einem Seil. Ein Holzstück kann dazu verwendet werden, etwas vorwärts zu schieben, aber nicht, es heranzuziehen. Ein Seil kann einen Gegenstand ziehen, aber nicht schieben. Ähnlich verhält es sich mit SMTP, das E-Mails an einen Mailserver „pusht“ bzw. „schiebt“, während IMAP und POP sie den Rest des Weges zur Anwendung des Benutzers „pullt“, also „zieht“.

Was ist Extended SMTP (ESMTP)?

Extended Simple Mail Transfer Protocol (ESMTP) ist eine Version des Protokolls, die seine ursprünglichen Funktionen erweitert und den Versand von E-Mail-Anhängen, die Verwendung von TLS und andere Funktionen ermöglicht. Fast alle E-Mail-Clients und E-Mail-Dienste verwenden ESMTP und nicht das einfache SMTP.

ESMTP verfügt über einige zusätzliche Befehle, darunter „EHLO“, ein „extended hello“, das die Verwendung von ESMTP zu Beginn der Verbindung ermöglicht.

Was ist Cloudflare E-Mail-Routing?

Cloudflare E-Mail Routing wurde entwickelt, um die Erstellung und Verwaltung von E-Mail-Adressen zu vereinfachen, ohne dass Sie zusätzliche Postfächer im Auge behalten müssen. Mit Cloudflare E-Mail-Routing können Benutzer eine beliebige Anzahl von benutzerdefinierten E-Mail-Adressen erstellen, die sie in Situationen verwenden können, in denen sie ihre primäre E-Mail-Adresse nicht preisgeben möchten. Die E-Mails werden dann an den bevorzugten Posteingang weitergeleitet, ohne dass Sie die primäre E-Mail-Adresse preisgeben müssen.

Cloudflare E-Mail-Routing funktioniert, indem es den SMTP-Umschlag (SMTP-Envelope) einer E-Mail verändert, wobei der Header und der Body unverändert bleiben. Mehr dazu erfahren Sie in unserem Blog-Beitrag.