Zuletzt aktualisiert am 04.12.2025 6 Minuten Lesezeit

SMTP

SMTP (Simple Mail Transfer Protocol) ist das Standardprotokoll fuer den Versand von E-Mails im Internet. Es arbeitet auf der Anwendungsschicht des OSI-Modells und ist fuer die zuverlaessige Uebertragung von E-Mail-Nachrichten zwischen Mailservern sowie von E-Mail-Clients zu Mailservern verantwortlich.

SMTP wurde erstmals 1982 im RFC 821 definiert und ist seitdem das Rueckgrat der E-Mail-Kommunikation. Die aktuelle Version ist im RFC 5321 spezifiziert. Waehrend SMTP ausschliesslich fuer den Versand von E-Mails zustaendig ist, werden fuer den Empfang andere Protokolle wie POP3 oder IMAP verwendet.

Funktionsweise von SMTP

SMTP basiert auf dem Client-Server-Modell und arbeitet nach einem einfachen Anfrage-Antwort-Prinzip. Ein SMTP-Client (der Absender) stellt eine Verbindung zu einem SMTP-Server her und sendet Befehle, auf die der Server mit Statuscodes antwortet.

Der typische Ablauf einer E-Mail-Uebertragung sieht folgendermassen aus:

  1. Verbindungsaufbau: Der Client stellt eine TCP-Verbindung zum SMTP-Server her
  2. Begruesssung: Der Server bestaetigt die Verbindung mit einem Willkommens-Banner
  3. Identifikation: Der Client identifiziert sich mit HELO oder EHLO
  4. Absender angeben: Mit MAIL FROM wird die Absenderadresse uebermittelt
  5. Empfaenger angeben: Mit RCPT TO werden ein oder mehrere Empfaenger definiert
  6. Nachricht uebertragen: Der DATA-Befehl leitet die eigentliche Nachricht ein
  7. Verbindung beenden: Mit QUIT wird die Verbindung ordnungsgemaess geschlossen

Store-and-Forward-Prinzip

Eine wichtige Eigenschaft von SMTP ist das Store-and-Forward-Prinzip. Wenn ein Mailserver eine E-Mail empfaengt, speichert er sie zunaechst und versucht dann, sie an den naechsten Server weiterzuleiten. Falls der Zielserver nicht erreichbar ist, wird die Nachricht in einer Warteschlange gespeichert und der Zustellversuch spaeter wiederholt. Erst nach mehreren fehlgeschlagenen Versuchen (typischerweise nach einigen Tagen) wird eine Unzustellbarkeitsnachricht an den Absender gesendet.

SMTP-Ports und deren Verwendung

SMTP nutzt verschiedene Well-Known Ports, die jeweils unterschiedliche Zwecke erfuellen:

Port Bezeichnung Verwendung
25 SMTP Server-zu-Server-Kommunikation (MTA Relay)
465 SMTPS Implizite TLS-Verschluesselung (deprecated, aber wieder im Einsatz)
587 Submission Client-zu-Server-Kommunikation mit STARTTLS

Port 25 ist der urspruengliche SMTP-Port und wird heute hauptsaechlich fuer die Kommunikation zwischen Mailservern verwendet. Viele Internet-Provider blockieren diesen Port fuer Endnutzer, um Spam zu reduzieren.

Port 587 (Submission) ist der empfohlene Port fuer E-Mail-Clients, um Nachrichten an den Mailserver zu uebermitteln. Er erfordert typischerweise eine Authentifizierung und unterstuetzt die Verschluesselung mittels STARTTLS.

Port 465 wurde urspruenglich fuer SMTPS (SMTP ueber SSL) registriert, dann verworfen und spaeter wieder eingefuehrt. Er verwendet implizite TLS-Verschluesselung, das heisst die Verbindung ist von Anfang an verschluesselt.

Wichtige SMTP-Befehle

SMTP verwendet textbasierte Befehle, die der Client an den Server sendet. Die wichtigsten Befehle sind:

Befehl Beschreibung
HELO Einfache Begruesssung (veraltet)
EHLO Extended HELLO - initiiert ESMTP und fragt Serverfaehigkeiten ab
MAIL FROM Definiert die Absenderadresse (Envelope-Sender)
RCPT TO Definiert einen Empfaenger (kann mehrfach verwendet werden)
DATA Leitet die Uebertragung des Nachrichteninhalts ein
QUIT Beendet die SMTP-Sitzung
RSET Setzt die aktuelle Transaktion zurueck
VRFY Verifiziert eine E-Mail-Adresse (oft deaktiviert)
AUTH Initiiert die Authentifizierung

HELO vs. EHLO

Der HELO-Befehl stammt aus der urspruenglichen SMTP-Spezifikation und wird heute nur noch selten verwendet. EHLO (Extended HELLO) ist der moderne Nachfolger und wird von ESMTP (Extended SMTP) genutzt. Der wichtige Unterschied: Bei EHLO antwortet der Server mit einer Liste seiner unterstuetzten Erweiterungen wie Verschluesselung, Authentifizierungsmethoden oder maximale Nachrichtengroesse.

Beispiel einer SMTP-Sitzung

So koennte eine vereinfachte SMTP-Sitzung aussehen:

S: 220 mail.example.com ESMTP Postfix
C: EHLO client.example.org
S: 250-mail.example.com Hello client.example.org
S: 250-SIZE 52428800
S: 250-STARTTLS
S: 250 AUTH PLAIN LOGIN
C: MAIL FROM:<sender@example.org>
S: 250 OK
C: RCPT TO:<empfaenger@example.com>
S: 250 OK
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: Subject: Testmail
C: From: sender@example.org
C: To: empfaenger@example.com
C:
C: Dies ist eine Testnachricht.
C: .
S: 250 OK: queued as ABC123
C: QUIT
S: 221 Bye

Authentifizierung und Verschluesselung

Urspruenglich wurde SMTP ohne jegliche Authentifizierung oder Verschluesselung entwickelt - ein Designentscheid aus einer Zeit, als das Internet noch ein vertrauenswuerdiges Netzwerk war. Heute sind beide Aspekte unverzichtbar.

SMTP-AUTH

SMTP-AUTH ist eine Erweiterung, die es Clients ermoeglicht, sich gegenueber dem Mailserver zu authentifizieren. Dies verhindert, dass unbefugte Nutzer den Server als Relay fuer Spam missbrauchen. Gaengige Authentifizierungsmechanismen sind:

  • PLAIN: Benutzername und Passwort werden Base64-kodiert uebertragen (nur mit TLS verwenden!)
  • LOGIN: Aehnlich wie PLAIN, aber in zwei Schritten
  • CRAM-MD5: Challenge-Response-Verfahren ohne Klartextpasswort
  • OAUTH2: Moderne Authentifizierung ueber OAuth-Tokens

Verschluesselung mit STARTTLS und TLS

STARTTLS ist ein Befehl, der eine unverschluesselte Verbindung auf eine verschluesselte TLS-Verbindung hochstuft. Nach dem erfolgreichen TLS-Handshake wird die gesamte weitere Kommunikation verschluesselt. Dies schuetzt sowohl Anmeldedaten als auch den Inhalt der E-Mails vor Abhoeren.

Bei implizitem TLS (Port 465) ist die Verbindung von Anfang an verschluesselt - der Client muss nicht erst STARTTLS senden. Beide Methoden bieten gleichwertigen Schutz, unterscheiden sich aber im Verbindungsaufbau.

Spam-Bekaempfung: SPF, DKIM und DMARC

Da SMTP urspruenglich keine Moeglichkeit bot, die Identitaet des Absenders zu verifizieren, wurden mehrere Mechanismen entwickelt, um E-Mail-Faelschung (Spoofing) und Spam zu bekaempfen. Diese drei Technologien arbeiten zusammen und sind heute Standard fuer professionellen E-Mail-Betrieb.

SPF - Sender Policy Framework

SPF ermoeglicht es Domaininhabern, festzulegen, welche Mailserver berechtigt sind, E-Mails fuer ihre Domain zu versenden. Diese Information wird als TXT-Eintrag im DNS hinterlegt. Der empfangende Mailserver prueft, ob die IP-Adresse des sendenden Servers in diesem Eintrag autorisiert ist.

example.com.  IN TXT  "v=spf1 mx a:mail.example.com ip4:192.0.2.0/24 -all"

Dieser SPF-Eintrag erlaubt E-Mails von den MX-Servern der Domain, dem Server mail.example.com und allen IPs im Bereich 192.0.2.0/24. Das -all am Ende bedeutet, dass alle anderen Quellen abgelehnt werden sollen.

DKIM - DomainKeys Identified Mail

DKIM fuegt E-Mails eine digitale Signatur hinzu, die vom sendenden Server mit einem privaten Schluessel erstellt wird. Der oeffentliche Schluessel wird im DNS veroeffentlicht. Empfangende Server koennen damit pruefen, ob die E-Mail tatsaechlich von der angegebenen Domain stammt und unterwegs nicht veraendert wurde.

DMARC - Domain-based Message Authentication

DMARC baut auf SPF und DKIM auf und legt fest, wie empfangende Server mit E-Mails umgehen sollen, die diese Pruefungen nicht bestehen. Zusaetzlich ermoeglicht DMARC das Reporting: Domaininhaber erhalten Berichte ueber fehlgeschlagene Authentifizierungsversuche und koennen so Missbrauch ihrer Domain erkennen.

DMARC-Richtlinien:

  • none: Nur Berichte sammeln, keine Massnahmen
  • quarantine: Verdaechtige E-Mails in den Spam-Ordner verschieben
  • reject: Nicht authentifizierte E-Mails komplett ablehnen

SMTP im Vergleich zu POP3 und IMAP

Ein haeufiges Missverstaendnis ist, dass SMTP fuer die gesamte E-Mail-Kommunikation zustaendig sei. Tatsaechlich ist SMTP nur fuer den Versand zustaendig. Fuer den Abruf von E-Mails vom Server werden andere Protokolle verwendet:

Aspekt SMTP POP3 IMAP
Funktion E-Mail-Versand E-Mail-Abruf E-Mail-Abruf
Port (unverschl.) 25, 587 110 143
Port (TLS) 465 995 993
Speicherort - Lokal (laed herunter) Server (synchronisiert)
Mehrere Geraete - Problematisch Optimiert

POP3 (Post Office Protocol) laed E-Mails vom Server herunter und loescht sie dort optional. Es ist einfach, aber nicht fuer die Nutzung mit mehreren Geraeten geeignet. IMAP (Internet Message Access Protocol) synchronisiert E-Mails zwischen Server und Client, sodass alle Geraete denselben Stand haben - das ist heute der Standard fuer die meisten Anwender.

SMTP in der Praxis

Als Fachinformatiker fuer Systemintegration wirst du regelmaessig mit SMTP-Servern arbeiten. Typische Aufgaben sind die Einrichtung von Mailservern wie Postfix oder Microsoft Exchange, die Konfiguration von SPF-, DKIM- und DMARC-Eintraegen sowie die Fehlersuche bei Zustellproblemen.

Fuer Anwendungsentwickler ist SMTP relevant, wenn Anwendungen E-Mails versenden muessen - etwa Registrierungsbestaetigungen, Passwortzuruecksetzungen oder Benachrichtigungen. Hierfuer werden haeufig SMTP-Bibliotheken oder externe Dienste wie SendGrid, Amazon SES oder Mailgun verwendet.

Quellen und weiterfuehrende Links