Was ist SMTP? Definition und Grundlagen

Wenn die E-Mail die elektronische Post ist, dann ist das SMTP der Postbote. Ohne das Standard-Netzwerkprotokoll des modernen Internets wäre das Schicken von Bewerbungsunterlagen, eCards und lustigen Katzenvideos überhaupt nicht möglich. Denn wenn man eine E-Mail versendet, geht diese nicht einfach direkt an den Empfänger, sondern durchläuft einen komplexen Kommunikationsprozess mit zahlreichen Instanzen, bevor sie am Ziel ankommt.

Free Cloud Server Trial von IONOS

Jetzt Cloud Server kostenlos testen - Probieren Sie Ihren Cloud Server bei IONOS 30 Tage lang aus!

REST API
Unlimited Traffic
VMware Virtualisierung

Was ist das SMTP-Protokoll?

SMTP steht für „Simple Mail Transfer Protocol“, was sich mit „Einfaches E-Mail-Transferprotokoll“ übersetzen lässt. Es handelt sich dabei um ein verbindungsorientiertes, textbasiertes Netzwerkprotokoll aus der Internetprotokollfamilie und ist als solches auf der siebten Schicht des OSI-Modells, der Anwendungsschicht, angesiedelt. Genauso wie jedes andere Netzprotokoll enthält es Regeln für die korrekte Kommunikation zwischen Computern in einem Netzwerk. Dabei ist SMTP speziell für das Einspeisen und Weiterleiten von E-Mails von einem Absender zu einem Empfänger zuständig.

Seit seiner Veröffentlichung im Jahr 1982 als Nachfolger des „Mail Box Protocols“ im Arpanet ist SMTP zum Standardprotokoll für den Versand von E-Mails avanciert. Für den Normalverbraucher bleibt das SMTP-Verfahren jedoch weitestgehend unsichtbar, da es vom jeweiligen E-Mail-Programm im Hintergrund durchgeführt wird. Lediglich dann, wenn die Software, die Webmail-Anwendung im Browser oder die mobile Mail-App das SMTP-Protokoll beim Einrichten eines Kontos nicht von selbst festlegt, muss man es manuell einstellen, um einen reibungslosen E-Postverkehr zu gewährleisten.

Fakt

Sendmail war einer der ersten Mail Transfer Agents (MTA), die das SMTP-Protokoll unterstützten.

Hier eine Übersicht der SMTP-Server-Adressen und SMTP-Ports für einige der beliebtesten E-Mail-Provider:

E-Mail-Provider SMTP-Server-Adresse SMTP-Port  
Yahoo smtp.mail.yahoo.com 587  
GMX mail.gmx.net 587  
Web.de smtp.web.de 587  
Gmail smtp.gmail.com 587 (TLS/STARTTLS), 465 (SSL)  

Wie funktioniert das SMTP-Verfahren?

Das SMTP-Verfahren zu verstehen bedeutet, E-Mail zu verstehen. Im Grunde läuft es wie folgt ab:

  1. Der SMTP-Client, also der Absender, lädt die E-Mail auf den SMTP-Server, also den E-Mail-Server (Postausgangsserver) des jeweiligen E-Mail-Providers. Dies geschieht über eine Webmail-Anwendung im Browser oder ein E-Mail-Programm (technisch „Mail User Agent“, kurz MUA, genannt) wie Windows Live Mail oder Mozilla Thunderbird.
  2. Der SMTP-Server kontaktiert daraufhin den DNS-Server, und dieser sucht die IP-Adresse des Ziel-SMTP-Servers (auch „Mail Delivery Agent“, kurz MDA) heraus, die für die Empfängeradresse der E-Mail hinterlegt ist.
  3. Der SMTP-Server schickt die E-Mail über einen oder mehrere „Mail Transfer Agents“ (MTA) zum Ziel-SMTP-Server. Jeder dieser Weiterleitungsvorgänge läuft dabei nach dem SMTP-Protokoll ab.
  4. Der Ziel-SMTP-Server speichert die E-Mail temporär im Nachrichtenspeicher.
  5. Der Empfänger-MUA lädt die E-Mail entweder per IMAP oder POP3 herunter.

Wie läuft eine SMTP-Session ab?

Die im ersten Schritt des SMTP-Verfahrens erwähnte Interaktion zwischen dem SMTP-Client und dem SMTP-Server stellt die eigentliche SMTP-Session dar. Der Rest des SMTP-Verfahrens, also die Weiterleitung der E-Mail via SMTP vom Server zum Empfänger behandeln wir ein einem separaten Ratgeber. Jede Session besteht aus einer Abfolge von SMTP-Kommandos seitens des Clients und Antworten in Form von Statuscodes seitens des Servers.

Übersicht über die SMTP-Kommandos

Gemäß den geltenden SMTP-Spezifikationen muss jede Implementierung des Netzwerkprotokolls mindestens die folgenden acht Kommandos, bestehend aus 7-Bit-ASCII-Zeichen, unterstützen:

SMTP-Kommando Bedeutung  
HELO „Hello.“ – Der Client meldet sich mit seinem Computernamen an und startet damit die Session.  
MAIL FROM Der Client nennt den Absender der E-Mail.  
RCPT TO „Recipient“ – Der Client nennt den Empfänger der E-Mail.  
DATA Der Client initiiert die Übertragung der E-Mail.  
RSET Der Client bricht die eingeleitete Übertragung ab, hält aber die Verbindung zwischen Client und Server aufrecht.  
VRFY/EXPN „Verify“/„Expand“ – Der Client überprüft, ob ein Postfach für die Nachrichtenübermittlung verfügbar ist.  
NOOP Der Client fordert eine Antwort vom Server an, um eine Verbindungstrennung wegen Time-out zu verhindern.  
QUIT Der Client beendet die Session.  

Übersicht über die Server-Statuscodes

Auf jedes dieser SMTP-Kommandos des Clients antwortet der Server mit einem dreistelligen Statuscode inklusive Klartextmeldung. Zum besseren Verständnis haben wir diese Meldungen in der folgenden Übersicht ins Deutsche übersetzt:

SMTP-Beispiel-Session

Eine SMTP-Session zwischen Client und Server kann beispielsweise wie folgt ablaufen:

Tipp

Mit E-Mail-Hosting von IONOS kommunizieren Sie professionell, sicher und preisgünstig. Nutzen Sie personalisierte E-Mail-Adressen mit eigener Domain, jederzeit flexiblen Zugriff auf Ihre Mails, Archivierungsfunktion, Kalender- und Office-Lösung und vieles mehr. Verlassen Sie sich auf höchste Sicherheitsstandards in den ISO-zertifizierten IONOS Rechenzentren.

Was sind Nachteile des SMTP-Protokolls?

SMTP weist zwei Nachteile auf, die dem Netzwerkprotokoll inhärent sind. Der erste besteht darin, dass der Versand einer E-Mail per SMTP-Verfahren keine verwertbare Versandbestätigung zurückliefert. Zwar sehen die Spezifikationen des Protokolls eine solche Benachrichtigung vor, deren Formatierung ist aber nicht standardmäßig festgelegt, sodass meist nur eine englischsprachige Fehlermeldung samt Header der nicht zugestellten Nachricht zurückkommt. Das macht es schwierig, die Ursache der fehlgeschlagenen Übertragung (z. B. eine falsche Adresse oder ein überfülltes Postfach beim Empfänger) zu ermitteln.

Der zweite Nachteil von SMTP ist, dass Benutzer bei einem Verbindungsaufbau nicht authentifiziert werden und der Absender einer E-Mail somit nicht verlässlich ist. Das führt dazu, dass offene SMTP-Relays häufig zum massenhaften Versenden von Spam missbraucht werden. Die Urheber benutzen dafür beliebige Fake-Absenderadressen, damit sie nicht zurückverfolgt werden können (Mail-Spoofing). Heute sind vielerlei Sicherheitstechniken im Einsatz, die den Missbrauch von SMTP-Servern unterbinden sollen. Beispielsweise werden verdächtige E-Mails abgelehnt oder in Quarantäne (Spam-Ordner) verschoben. Verantwortlich dafür sind etwa das Identifikationsprotokoll DomainKeys, das Sender Policy Framework (SPF) oder das Greylisting. Zudem ist es mehr oder weniger zum Standard geworden, E-Mails nicht nur über den traditionellen Port 25/TCP, sondern auch über den Port 587/TCP entgegenzunehmen, um ausschließlich authentifizierten Benutzern die Übertragung zu gewähren.

Was ist ESMTP?

Als Reaktion auf das grassierende Spam-Problem im Internet wurde im Jahr 1995 eine Erweiterung des SMTP herausgebracht: Extended SMTP (kurz ESMTP). Es ergänzt das Protokoll um weitere Kommandos im 8-Bit-ASCII-Code, mit denen viele neue Funktionen zur Einsparung von Bandbreite und zum Schutz von Servern möglich wurden. Diese umfassen z. B.:

  • Authentifizierung des Absenders
  • SSL-Verschlüsselungen von E-Mails
  • Anhängen von Multimedia-Dateien an E-Mails
  • Größenbeschränkungen von E-Mails gemäß Server-Vorgaben
  • Gleichzeitiger Versand an mehrere Empfänger
  • Standardisierte Fehlermeldungen bei Unzustellbarkeit

Abschließend einige Beispiele für ESMTP-Kommandos:

ESMTP-Kommando Bedeutung  
EHLO Das alternative „Hello.“ im erweiterten Protokoll. Der Client meldet sich mit seinem Computernamen an und startet damit die Session. Unterstützt der Server ESMTP, wird die Session erfolgreich gestartet. Ansonsten muss der Client auf SMTP zurückgreifen.  
8BITMIME Der Client fordert den Server auf, den 8-Bit-ASCII-Zeichensatz im Nachrichtentext zuzulassen.  
SIZE Der Client fordert den Server auf, die maximal zugelassene E-Mail-Größe in Byte anzugeben.  
STARTTLS Der Client fragt an, ob der Server die TLS-Verschlüsselung beherrscht.