# Was ist SMTP? Definition und Grundlagen

Wenn die E-Mail die elektronische Post ist, dann ist das SMTP der Postbote. SMTP ist bis heute das wichtigste Protokoll für den E-Mail-Versand, wird in der Praxis aber fast immer in der erweiterten Form ESMTP eingesetzt – mit Authentifizierung und Verschlüsselung als Standard.

## 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](https://www.ionos.de/digitalguide/server/knowhow/netzwerkprotokolle-standards-fuer-den-datenaustausch/) aus der Internetprotokollfamilie und ist als solches auf der siebten Schicht des [OSI-Modells](https://www.ionos.de/digitalguide/server/knowhow/das-osi-modell-referenz-fuer-standards-und-protokolle/), 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 im [Arpanet](https://www.ionos.de/digitalguide/websites/web-entwicklung/arpanet-definition-geschichte-des-internetvorgaengers/) ist SMTP zum **Standardprotokoll für den Versand von E-Mails** avanciert. Für Endnutzerinnen und Endnutzer erfolgt die Konfiguration heute fast automatisch: Moderne Clients wie Outlook, Thunderbird oder Webmail-Anwendungen stellen **SMTP (bzw. ESMTP) mit STARTTLS und Port 587** als Voreinstellung bereit.

Die nachfolgende Übersicht zeigt Ihnen die **SMTP-Server-Adressen** und **SMTP-Ports** für einige der beliebtesten E-Mail-Provider:

<table>
  <thead>
    <tr>
      <th>E-Mail-Provider</th>
      <th>SMTP-Server-Adresse</th>
      <th>SMTP-Port</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Yahoo</td>
      <td>smtp.mail.yahoo.com</td>
      <td>587</td>
    </tr>
    <tr>
      <td>GMX</td>
      <td>mail.gmx.net</td>
      <td>587</td>
    </tr>
    <tr>
      <td>Web.de</td>
      <td>smtp.web.de</td>
      <td>587</td>
    </tr>
    <tr>
      <td>Gmail</td>
      <td>smtp.gmail.com</td>
      <td>587 (TLS/STARTTLS), 465 (SSL)</td>
    </tr>
    <tr>
      <td>Microsoft 365 / Outlook.com</td>
      <td>smtp.office365.com</td>
      <td>587 (STARTTLS, empfohlen), 465 (SSL)</td>
    </tr>
  </tbody>
</table>

Hinweis Hinweis: Port 25 (traditionelles SMTP) ist für End-User meist blockiert und dient nur noch dem Mail-Transport zwischen Servern. Für das Senden über ein Nutzerkonto sollten immer 587 oder 465 verwendet werden.

## Wie funktioniert das SMTP-Verfahren?

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

### Schritt 1: Absender/Absenderin überträgt an SMTP-Server (Submission)

- Der **SMTP-Client**, also der Absender bzw. die Absenderin, lädt die E-Mail auf den [SMTP-Server](https://www.ionos.de/digitalguide/e-mail/e-mail-technik/smtp-server/), also den [E-Mail-Server](https://www.ionos.de/office-loesungen/email-server "E-Mail-Server von IONOS") (Postausgangsserver) des jeweiligen Providers.
- Dies geschieht über eine Webmail-Anwendung im Browser oder ein E-Mail-Programm („Mail User Agent“, kurz MUA) wie Outlook oder Mozilla Thunderbird.
- Mittlerweile erfolgt diese Übertragung standardmäßig über Port 587 mit STARTTLS-Verschlüsselung und SMTP AUTH (Benutzername + Passwort).

### Schritt 2: Adressauflösung via DNS

- Der SMTP-Server der absendenden Person kontaktiert den [DNS-Server](https://www.ionos.de/digitalguide/server/knowhow/namensaufloesung-im-netz-was-ist-ein-dns-server/) und ermittelt die **IP-Adresse des Ziel-SMTP-Servers** ([MX-Record](https://www.ionos.de/digitalguide/e-mail/e-mail-technik/mx-record/) der Empfängerdomain).

### Schritt 3: Weiterleitung über Mail Transfer Agents (MTAs)

- Die E-Mail wird über einen oder mehrere **Mail Transfer Agents (MTA)** weitergeleitet.
- Jeder MTA arbeitet nach den SMTP- bzw. ESMTP-Regeln.
- Auf dem Transportweg wird die Verbindung in der Regel per [TLS](https://www.ionos.de/digitalguide/server/sicherheit/tls-transport-layer-security/) gesichert, um Manipulation und Mitlesen zu verhindern.

### Schritt 4: Annahme beim Ziel-SMTP-Server

- Der Zielserver (Empfänger-Mailserver) prüft, ob das Postfach existiert.
- Viele Mailserver kontrollieren zusätzlich [SPF](https://www.ionos.de/digitalguide/e-mail/e-mail-sicherheit/was-ist-ein-spf-record/)-, [DKIM](https://www.ionos.de/digitalguide/e-mail/e-mail-sicherheit/dkim-domainkeys/)- und [DMARC](https://www.ionos.de/digitalguide/e-mail/e-mail-sicherheit/dmarc-erklaert/)-Einträge, um Spoofing und Spam zu verhindern.
- Die E-Mail wird im Nachrichtenspeicher zwischengespeichert.

### Schritt 5: Abruf durch den Empfänger oder die Empfängerin

- Die empfangende Person ruft die E-Mail über [IMAP oder POP3](https://www.ionos.de/digitalguide/e-mail/e-mail-technik/imap-oder-pop3-fuer-den-mailempfang/) ab.
- Heute ist IMAP der Standard, da es eine Synchronisation zwischen Geräten ermöglicht.

[![Bild: Schaubild SMTP-Verfahren](https://www.ionos.de/digitalguide/fileadmin/_processed_/2/4/csm_smtp-verfahren_54af7bd936.webp "Schaubild SMTP-Verfahren")](https://www.ionos.de/digitalguide/fileadmin/DigitalGuide/Screenshots_2018/smtp-verfahren.png) Die Weiterleitung einer E-Mail vom SMTP-Client über den Server bis zum Nachrichtenspeicher des Ziel-SMTP-Servers wird vom SMTP-Protokoll geregelt. Erst ab dann greifen andere Netzwerkprotokolle. ## 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. 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:

<table>
  <thead>
    <tr>
      <th>SMTP-Kommando</th>
      <th>Bedeutung</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`HELO`</td>
      <td>„Hello.“ – Client meldet sich mit Computernamen an und startet damit die Session.</td>
    </tr>
    <tr>
      <td>`EHLO`</td>
      <td>Erweitertes „Hello“. Fordert die Fähigkeiten des Servers an (ESMTP), z. B. `STARTTLS` oder `AUTH`.</td>
    </tr>
    <tr>
      <td>`MAIL FROM`</td>
      <td>Client gibt den Absender bzw. die Absenderin der E-Mail an.</td>
    </tr>
    <tr>
      <td>`RCPT TO`</td>
      <td>„Recipient“ – Client nennt Empfängeradresse der E-Mail.</td>
    </tr>
    <tr>
      <td>`DATA`</td>
      <td>Beginn der Übertragung (Header + Body).</td>
    </tr>
    <tr>
      <td>`RSET`</td>
      <td>Abbruch der Übertragung, Verbindung bleibt bestehen.</td>
    </tr>
    <tr>
      <td>`VRFY`/`EXPN`</td>
      <td>„Verify“/„Expand“ – Überprüfung, ob ein Postfach existiert / Verteiler wird aufgelöst.</td>
    </tr>
    <tr>
      <td>`NOOP`</td>
      <td>„Keep alive“: Verhindert eine Zeitüberschreitung.</td>
    </tr>
    <tr>
      <td>`QUIT`</td>
      <td>Beendet die Session.</td>
    </tr>
  </tbody>
</table>

### Ü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 den folgenden Übersichten ins Deutsche übersetzt.

Statuscodes, die signalisieren, dass der Server das **Kommando erfolgreich ausgeführt** hat:

<table>
  <thead>
    <tr>
      <th>Statuscode</th>
      <th>Klartextmeldung (ins Deutsche übersetzt)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`200`</td>
      <td>(Nicht standardmäßige Erfolgsantwort)</td>
    </tr>
    <tr>
      <td>`211`</td>
      <td>Anforderung von Systemstatus oder Systemhilfe</td>
    </tr>
    <tr>
      <td>`214`</td>
      <td>Anforderung von Hilfe bezüglich der Ausführung eines Kommandos</td>
    </tr>
    <tr>
      <td>`220`</td>
      <td>Server ist bereit für die SMTP-Session</td>
    </tr>
    <tr>
      <td>`221`</td>
      <td>Server beendet die Verbindung</td>
    </tr>
    <tr>
      <td>`250`</td>
      <td>OK – Kommando ausgeführt</td>
    </tr>
    <tr>
      <td>`251`</td>
      <td>OK – Kein lokaler User vorhanden, Mail wird weitergeleitet</td>
    </tr>
    <tr>
      <td>`252`</td>
      <td>OK – Empfängeradresse kann nicht verifiziert werden, Übertragung wird trotzdem versucht</td>
    </tr>
    <tr>
      <td>`253`</td>
      <td>OK – Nachrichten werden auf „Ausstehend“ gesetzt</td>
    </tr>
  </tbody>
</table>

Statuscodes, die signalisieren, dass der Server das Kommando verstanden hat, für die Verarbeitung aber **weitere Informationen** benötigt:

<table>
  <thead>
    <tr>
      <th>Statuscode</th>
      <th>Klartextmeldung (ins Deutsche übersetzt)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`354`</td>
      <td>Server startet Mailempfang</td>
    </tr>
  </tbody>
</table>

Statuscodes, die signalisieren, dass der Server einen **temporären Fehler** festgestellt hat, das Kommando aber möglicherweise trotzdem verarbeitet werden kann:

<table>
  <thead>
    <tr>
      <th>Statuscode</th>
      <th>Klartextmeldung (ins Deutsche übersetzt)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`421`</td>
      <td>Server nicht verfügbar, Verbindung wird beendet</td>
    </tr>
    <tr>
      <td>`450`</td>
      <td>Kommando nicht ausgeführt, Postfach nicht vorhanden</td>
    </tr>
    <tr>
      <td>`451`</td>
      <td>Kommandoausführung wegen lokalem Fehler abgebrochen</td>
    </tr>
    <tr>
      <td>`452`</td>
      <td>Kommando nicht ausgeführt, da nicht genügend Systemspeicher</td>
    </tr>
  </tbody>
</table>

Statuscodes, die signalisieren, dass der Server einen **fatalen Fehler festgestellt** hat und das Kommando nicht verarbeitet werden kann:

<table>
  <thead>
    <tr>
      <th>Statuscode</th>
      <th>Klartextmeldung (ins Deutsche übersetzt)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`500`</td>
      <td>Syntaxfehler, Kommando unbekannt</td>
    </tr>
    <tr>
      <td>`501`</td>
      <td>Syntaxfehler in Parametern oder Argumenten</td>
    </tr>
    <tr>
      <td>`502`</td>
      <td>Kommando existiert nicht</td>
    </tr>
    <tr>
      <td>`503`</td>
      <td>Unzulässige Kommandoreihenfolge</td>
    </tr>
    <tr>
      <td>`504`</td>
      <td>Kommando-Parameter existiert nicht</td>
    </tr>
    <tr>
      <td>`521`</td>
      <td>Server nimmt keine Mails an</td>
    </tr>
    <tr>
      <td>`530`</td>
      <td>Zugriff verweigert</td>
    </tr>
    <tr>
      <td>`550`</td>
      <td>Kommando nicht ausgeführt, Postfach nicht vorhanden</td>
    </tr>
    <tr>
      <td>`551`</td>
      <td>Kein lokaler User vorhanden, Weiterleiten versuchen</td>
    </tr>
    <tr>
      <td>`552`</td>
      <td>Kommandoausführung abgebrochen, Fehler bei der Speicherzuweisung</td>
    </tr>
    <tr>
      <td>`553`</td>
      <td>Kommando nicht ausgeführt, unzulässiger Postfach-Name</td>
    </tr>
    <tr>
      <td>`554`</td>
      <td>Übertragung fehlgeschlagen</td>
    </tr>
  </tbody>
</table>

### SMTP-Beispiel-Session

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

<table>
  <thead>
    <tr>
      <th>Partei</th>
      <th>SMTP-Kommandos und Statuscodes</th>
      <th>Erläuterung</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Server</td>
      <td>`220 smtp.beispiel.com ESMTP Postfix`</td>
      <td>Nach dem Verbindungsaufbau meldet sich der SMTP-Server.</td>
    </tr>
    <tr>
      <td>Client</td>
      <td>`HELO relay.beispiel.com`</td>
      <td>Der SMTP-Client meldet sich mit seinem Rechnernamen an.</td>
    </tr>
    <tr>
      <td>Server</td>
      <td>`250 smtp.beispiel.com, Guten Tag`</td>
      <td>Der Server bestätigt die Anmeldung.</td>
    </tr>
    <tr>
      <td>Client</td>
      <td>`MAIL FROM:<max@mustermann.com>`</td>
      <td>Der Client gibt die Absenderadresse des MUA an.</td>
    </tr>
    <tr>
      <td>Server</td>
      <td>`250 OK`</td>
      <td>Der Server bestätigt.</td>
    </tr>
    <tr>
      <td>Client</td>
      <td>`RCPT TO:<chef@arbeitsplatz.com>`</td>
      <td>Der Client gibt die Empfängeradresse an.</td>
    </tr>
    <tr>
      <td>Server</td>
      <td>`250 OK`</td>
      <td>Der Server bestätigt.</td>
    </tr>
    <tr>
      <td>Client</td>
      <td>`DATA`</td>
      <td>Der Client leitet die Übertragung der E-Mail ein.</td>
    </tr>
    <tr>
      <td>Server</td>
      <td>`354 End data with <CR><LF>.<CR><LF>`</td>
      <td>Der Server startet den Empfang und gibt an, dass der E-Mail-Text mit einem Punkt („.) geschlossen werden soll.</td>
    </tr>
    <tr>
      <td>Client</td>
      <td>`From: „Max Mustermann“ <max@mustermann.com><br>To: Chef Arbeitsplatz chef@arbeitsplatz.com<br>Date: Montag, 19. September 2025 10:03:42<br>Subject: Krankmeldung`  
  
Hallo Chef,  
leider muss ich mich heute krankmelden. Meine Arztbescheinigung lasse ich der HR per Fax zukommen.  
Ich bitte um Ihr Verständnis,  
Max Mustermann.</td>
      <td>Der Client gibt den E-Mail-Text durch, hebt ihn mit einem Zeilenumbruch nach `Subject: Krankmeldung` hervor und beendet ihn mit dem gewünschten Punkt.</td>
    </tr>
    <tr>
      <td>Server</td>
      <td>`250 OK: queued as 15432`</td>
      <td>Der Server bestätigt den erfolgreichen Empfang der E-Mail und nimmt sie in die Warteschlange auf.</td>
    </tr>
    <tr>
      <td>Client</td>
      <td>`QUIT`</td>
      <td>Der Client signalisiert das Ende der Session.</td>
    </tr>
    <tr>
      <td>Server</td>
      <td>`221 Auf Wiedersehen`</td>
      <td>Der Server beendet die Verbindung.</td>
    </tr>
  </tbody>
</table>

## Welche Nachteile hat das SMTP-Protokoll?

Trotz seiner weiten Verbreitung hat SMTP einige Nachteile, die das Protokoll von Haus aus mitbringt:

**Keine standardisierte Versandbestätigung**

- SMTP liefert von sich aus **keine verlässliche Empfangsbestätigung**.
- Zwar können Server Rückmeldungen geben (z. B. sogenannte [Delivery Status Notifications](https://www.ionos.de/digitalguide/e-mail/e-mail-technik/e-mail-header-welche-informationen-enthaelt-er/)), doch deren Formatierung ist nicht einheitlich und oft schwer verständlich.
- Die Folge: Es ist schwierig, die **genaue Ursache einer fehlgeschlagenen Zustellung** (z. B. Tippfehler in der Adresse, überfülltes Postfach) zu erkennen.

**Fehlende Authentifizierung im Ursprung**

- SMTP kennt ursprünglich **keine Benutzer-Authentifizierung**. Theoretisch kann jede Person eine E-Mail mit beliebiger Absenderadresse versenden.
- Dieses Problem führte zu massenhaftem [Spam](https://www.ionos.de/digitalguide/e-mail/e-mail-sicherheit/wie-man-spam-mails-erkennt-und-ihnen-vorbeugt/) und Spoofing (Fälschung von Absenderadressen).
- Um Missbrauch zu verhindern, setzen Provider heute fast ausschließlich auf: [SMTP AUTH](https://www.ionos.de/digitalguide/e-mail/e-mail-technik/smtp-auth/) (Benutzerauthentifizierung mit Login-Daten), **TLS-Verschlüsselung** ([STARTTLS](https://www.ionos.de/digitalguide/e-mail/e-mail-technik/starttls/), Port 587 oder Port 465) und das **Abweisen von offenen Relays**

Hinweis **Hinweis:** Viele Provider, etwa Microsoft 365, ersetzen die Basic-Authentifizierung (Benutzername + Passwort) in SMTP AUTH zunehmend durch **OAuth 2.0**. Prüfen Sie bei der Einrichtung Ihres Mailclients, ob dieses sichere Anmeldeverfahren unterstützt wird.

**Anfälligkeit für Spam &amp; Spoofing**

- Ohne zusätzliche Schutzmechanismen können Angreiferinnen und Angreifer im Namen fremder Domains E-Mails verschicken.
- Moderne Sicherheitsstandards, die dieses Problem abfedern, sind unter anderem die bereits genannten SPF, DKIM und DMARC
- MTA-STS (Mail Transfer Agent Strict Transport Security) sorgt dafür, dass E-Mails nur über verschlüsselte Verbindungen übertragen werden.
- DANE (DNS-based Authentication of Named Entities) gewährt eine zusätzliche Absicherung von TLS-Zertifikaten via DNSSEC.

Dank dieser Erweiterungen ist SMTP in Kombination mit ESMTP und den modernen Sicherheitsstandards heute **deutlich zuverlässiger und sicherer** als noch vor wenigen Jahren.

## Was ist ESMTP?

Als Reaktion auf die Sicherheitslücken und Beschränkungen des ursprünglichen SMTP wurde 1995 das **Extended Simple Mail Transfer Protocol (ESMTP)** eingeführt. ESMTP erweitert SMTP um zusätzliche Kommandos und Optionen, die den Versand von E-Mails **sicherer, flexibler und effizienter** machen.

### Wichtige Funktionen von ESMTP

- **Authentifizierung** des Absenders bzw. der Absenderin über SMTP AUTH, um Spoofing und Spam zu verhindern.
- **TLS-Verschlüsselung** über STARTTLS, sodass Nachrichten beim Versand geschützt sind.
- **Anhängen von Multimedia-Dateien** (z. B. Bilder, Videos, Dokumente).
- **Größenbeschränkungen** nach Server-Vorgaben (z. B. `SIZE`).
- **Paralleler Versand an mehrere Empfängerinnen und Empfänger**.
- **Standardisierte Fehlermeldungen** bei Unzustellbarkeit.
- **Unterstützung von 8-Bit-Inhalten** durch das Kommando `8BITMIME`, womit z. B. Sonderzeichen und UTF-8-Symbole direkt übertragen werden können.

### Beispiele für ESMTP-Kommandos

<table>
  <thead>
    <tr>
      <th>ESMTP-Kommando</th>
      <th>Bedeutung</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`EHLO`</td>
      <td>Alternative zu `HELO`. Meldet den Client an und prüft, ob der Server ESMTP unterstützt.</td>
    </tr>
    <tr>
      <td>`AUTH`</td>
      <td>Authentifizierung des Absenders (z. B. über Benutzername/Passwort).</td>
    </tr>
    <tr>
      <td>`STARTTLS`</td>
      <td>Aushandeln einer verschlüsselten Verbindung (TLS).</td>
    </tr>
    <tr>
      <td>`SIZE`</td>
      <td>Server gibt die maximal zulässige E-Mail-Größe in Byte an.</td>
    </tr>
    <tr>
      <td>`8BITMIME`</td>
      <td>Erlaubt die Übertragung von Nachrichten mit 8-Bit-ASCII oder UTF-8.</td>
    </tr>
  </tbody>
</table>

Fazit In der Praxis spricht man heute meist von **SMTP**, obwohl nahezu alle modernen Mailserver **ESMTP** mit seinen Erweiterungen einsetzen. Erst diese Funktionen – insbesondere Authentifizierung und Verschlüsselung – machen den E-Mail-Versand sicher und zuverlässig.


This is a markdown version of: [https://www.ionos.de/digitalguide/e-mail/e-mail-technik/smtp/](https://www.ionos.de/digitalguide/e-mail/e-mail-technik/smtp/) for AI/LLM consumption.