Tipps & Tutorials

SMTP: Was ist es und wie funktioniert es?


Veröffentlicht am 20.03.2024 von DomainFactory

Titelmotiv - Was ist SMTP

Ob für die persönliche Korrespondenz oder die berufliche Kommunikation, E-Mail ist aus unserem täglichen Leben nicht mehr wegzudenken. Weit über 300 Milliarden E-Mails werden täglich weltweit versendet und empfangen; in Deutschland kommunizieren rund 80 Prozent der Bevölkerung per Mail (Quelle: Statista). Aber haben Sie sich eigentlich jemals gefragt, wie Ihre E-Mails von Ihrem Postausgang zum Posteingang ihrer Bestimmung gelangen? Genau hier kommt SMTP ins Spiel.


 

Was ist SMTP?

SMTP, kurz für „Simple Mail Transfer Protocol“, ist ein Standardprotokoll für die E-Mail-Kommunikation. Es gehört zur Anwendungsschicht der Internetprotokollfamilie (TCP/IP-Protokollsuite) und beinhaltet Regeln und Konventionen für den Transport von E-Mail-Nachrichten über das Internet.

Genauer gesagt regelt SMTP, wie beim Versand und der Übertragung von E-Mail die beteiligten Systeme miteinander interagieren, angefangen bei Ihrem E-Mail-Client über Ihren Mailserver (Postausgangsserver) bis zum Zielserver, wo die Mail dann im Posteingang der empfangenden Person landet. Dies geschieht im Zusammenspiel mit anderen E-Mail-Protokollen wie POP (Post Office Protocol) und IMAP (Internet Message Access Protocol), die für den Empfang und die Speicherung von E-Mails zuständig sind.

Eine kurze Geschichte von SMTP?

Die Geschichte von SMTP reicht bis in die Anfänge des Internets zurück. Entwickelt wurde das Protokoll zu großen Teilen von Jon Postel, einem der Wegbereiter des Internets und Autor zahlreicher grundlegender Spezifikationen (Requests for Comments, RFC) für Internet-Technologien. Die erste Beschreibung, noch unter der Bezeichnung Mail Transfer Protocol (MTP), veröffentlichte Postel zusammen mit Suzanne Sluizer 1980 in RFC 772; die Weiterentwicklung Simple Mail Transfer Protocol (SMTP) folgte im November 1981 in RFC 788. Im ARPANET, dem Vorläufer des Internets, verschickte man bis dato E-Mails per FTP; (S)MTP war als Alternative dafür gedacht.

Im Laufe der Jahre wurde SMTP noch mehrfach überarbeitet, um Sicherheit und Funktionalität zu verbessern. Die derzeit aktuelle Version ist RFC 5321 aus dem Jahr 2008.

Ein wichtiger Meilenstein war 1993 die Einführung von Extended SMTP (ESMTP), einem Framework für SMTP-Erweiterungen. Denn wie sich bald zeigte, wird beim sicheren E-Mail-Verkehr im offenen Internet mehr benötigt als beim Datentransfer zwischen ein paar ARPANET-Mailservern. Um das zu besser verstehen, werfen wir einen Blick auf die grundlegenden Bestandteile der E-Mail-Kommunikation.

Die Rollen von SMTP-Servern bei der E-Mail-Kommunikation?

Wenn Sie mit Ihrem E-Mail-Programm, etwa Outlook, Thunderbird oder Google Mail, eine E-Mail verfassen und auf „Senden“ klicken, wird Ihre Post an den SMTP-Server (Postausgangsserver) Ihres E-Mail-Providers geschickt. Der findet über diverse DNS-Abfragen heraus, welcher Mailserver für die Empfänger-Adresse zuständig ist, und sendet die Mail an diesen oder einen zwischengeschalteten SMTP-Server. Die Aufgabe von SMTP-Servern war aber ursprünglich nur der Mail-Transfer selbst (daher die Bezeichnung Mail Transfer Protocol) über den dafür reservierten Standard-Port 25. Allerdings wurde bald deutlich, dass SMTP-Server dem Absender gegenüber mehr Kontrolle ausüben mussten – vor allem, um Missbrauch zu vermeiden.

Deshalb spezifizierte man 1998 (in RFC 2476) für diese Phase der SMTP-Kommunikation zwei getrennte Rollen bzw. Prozesse: Der sogenannte „Message Submission Agent“ (MSA) nimmt Nachrichten vom Mailprogramm des Absenders (dem „Message User Agent“, MUA) entgegen und überprüft sie, bevor er sie ins Mailsystem einspeist. Das beinhaltet insbesondere auch eine mögliche Authentifizierung von Absendern. „Message Transfer Agents“ (MTA) sorgen dagegen wie gehabt für den Weitertransport der Mail. MTAs nutzen weiterhin Port 25, für die MSA-Funktion wurde ein eigener (Port 587) reserviert. Eine weitere wichtige Rolle ist der Message Delivery Agent (MDA), der die Mails vom MTA übernimmt und in Postfächer einsortiert, welche dann über POP3 oder IMAP angesprochen werden können.

SMTP kommt auf dem ganzen Weg von MUA bis MDA zum Einsatz. In entsprechender Software können insbesondere die MSA-, MTA- und MDA-Funktionen recht unterschiedlich implementiert sein. Bei DomainFactory vereint der Postausgangsserver Exim die Funktionen von MSA und MTA, der Posteingangsserver Dovecot fungiert als MDA. Andere Programme, etwa Sendmail, Postfix oder Microsoft Exchange Server, kombinieren MSA-, MTA- und MDA-Funktionen.

SMTP-Befehle und Erweiterungen

Für die Kommunikation beim E-Mail-Verkehr definiert SMTP eine Reihe von Befehlen:

Mit HELO identifiziert sich ein Sender (das Pendant zu „Hallo, ich bin der Mailserver smtp.example.de“) und öffnet eine Verbindung; diese steht, sobald der empfangende Server einen bestätigenden Antwort-Code (250 + Hostname) sendet. Mit MAIL FROM und RCPT TO werden Absender- und Empfänger-Adressen übermittelt, mit DATA der E-Mail-Inhalt. Mit RSET bricht der Sender die Übermittlung ab; bereits übermittelte Daten müssen verworfen werden. NOOP dient dazu, die Verbindung aufrechtzuerhalten, ohne weitere Aktionen des Empfängers auszulösen (außer 250 OK). Mit QUIT veranlasst der Sender den Empfänger, die Verbindung zu schließen.

telnet ihr.smtp-server.de 25
HELO mein.hostname
MAIL FROM: meine_mailadresse@maildomain.de
RCPT TO: empfaenger1_adresse@empfaengerdomain.de
RCPT TO: empfaenger2_adresse@empfaengerdomain.de 
DATA
subject: Test
Hallo, wie gehts?
.
QUIT

Nach jedem Befehl erhalten Sie einen dreistelligen Reply Code des Servers; fängt der mit „2“ an, war die Aktion erfolgreich (z. B. „250 OK“). Ausnahme ist DATA, hier sendet der Server „354“ („Start mail input“) und behandelt die nächsten Zeilen als zusammenhängenden Mail-Inhalt. Abgeschlossen wird dieser durch einen einzelnen Punkt.

Die gerade genannten Befehle mussten laut der ursprünglichen Spezifikation stets implementiert sein. Weitere Befehle waren fakultativ, insbesondere VRFY zur Verifikation von Absendern – und das war fatal, denn schließlich kann ein Mailserver problemlos falsche Angaben zu sich selbst und zum Absender machen („Spoofing“). Um die E-Mail-Kommunikation besser zu sichern, wurde zumindest die Implementierung von VRFY ebenfalls obligatorisch – und dazu der Befehl EHLO, der nicht zufällig fast wie HELO aussieht. Auch EHLO eröffnet eine Verbindung für den Mail-Transfer, fordert dabei aber vom Mailserver auch eine Information an, welche SMTP-Erweiterungen dieser unterstützt – etwa STARTTLS (SMTP über Transport Layer Security, TLS), 8BITMIME (Nicht-ASCII-Zeichen), DSN (Delivery Status Notifications, E-Mail-Benachrichtigungen z. B. bei Problemen) oder SMTP-AUTH (Authentisierung).

Problemfeld Sicherheit

Eine herkömmliche E-Mail wird gern mit einer Postkarte verglichen – jeder, der darauf zugreifen kann, kann sie auch lesen. Durch Authentisierung und Verschlüsselung kann dieses Problem etwas abgemildert werden.

Die Authentisierung erfolgt mittels der SMTP-Erweiterung SMTP-Auth, zuerst spezifiziert 1999 in RFC 2554. Server (MSA) können damit Absender anhand von Benutzernamen und Passwort authentisieren und nur Mails von solchen Absendern an andere Server weiterleiten (Relay), die sich erfolgreich authentifiziert haben. Denn Open-Relay-Server, die keine Authentifizierung verlangen, sind ein gefundenes Fressen für Spamversender. Zudem setzen viele Dienstanbieter Schutzmaßnahmen wie Sender Policy Framework ein, um Missbrauch zu verhindern; manche blockieren auch den Mailversand über Port 25. Um die E-Mail-Inhalte selbst zu verschlüsseln, kann entweder – wieder per Erweiterung – STARTTLS genutzt werden, ein Verfahren, um in diversen Klartext-Protokollen eine TLS-Verschlüsselung zwischen Servern einzuleiten. Da sich dabei aber durch Man-in-the-Middle-Atacken ein verschlüsselter Verbindungsaufbau verhindern lässt, wird eine Verschlüsselung per TLS über einen dafür reservierten Port empfohlen (den „Submissions Port“ 465). Heute bieten Mail-Clients in der Regel die Wahl zwischen Verschlüsselung über STARTTLS oder „TLS/SSL“; die Empfehlung lautet generell TLS/SSL. Welcher Port jeweils genutzt wird, hängt vom Postausgangsserver ab: Bei DomainFactory nutzen Sie für unverschlüsseltes Versenden den SMTP-Server smtp.ihre-domain.tld über Port 25 oder alternativ über Port 587, für verschlüsselte Verbindungen den Server sslout.df.eu über Port 465 (SSL) oder 25 (STARTTLS).

Was ist SMTP - Fazit

Wer Wert auf lückenlose Sicherheit für seine E-Mails legt, sollte auf Ende-zu-Ende-Verschlüsselung setzen (mit Standards wie S/MIME und OpenPGP). Denn die mit SMTP mögliche TLS-Verschlüsselung findet als „Transport Layer Security“ lediglich während der Übertragung zwischen einzelnen Servern statt. Bei der Verarbeitung auf den Servern des Transportnetzes und bei den E-Mail-Anbietern liegen die Mails meist im Klartext vor. Dennoch bleibt festzuhalten: Als ein über 40 Jahre altes, unter völlig anderen Bedingungen entstandenes Protokoll ist SMTP noch immer in seinen Grundzügen unverändert und dennoch in der Lage, Tag für Tag Milliarden von E-Mails bemerkenswert zuverlässig über die ganze Welt zu transportieren. Wenn Sie also das nächste Mal in Ihrem E-Mail-Programm auf „Senden“ klicken, halten Sie doch einmal kurz inne und freuen sich über die Weitsichtigkeit von Internet-Pionieren wie Jon Postel, die uns noch heute das Leben angenehmer macht.

Titelmotiv: Bild von Gerd Altmann auf Pixabay

Der Autor:


Als Qualitätsanbieter überzeugen wir mit HighEnd-Technologie und umfassenden Serviceleistungen. Mit mehr als 1,3 Millionen verwalteten Domainnamen gehören wir zu den größten Webhosting-Unternehmen im deutschsprachigen Raum.