Zum Hauptinhalt springen

2. Das SMTP-Modell (The SMTP Model)

2.1. Das Grundmodell (The Basic Model)

SMTP ist ein Push-Protokoll: Das sendende System initiiert die Transaktion und schiebt Mail zum empfangenden System. Das Grundmodell funktioniert wie folgt:

  1. Ein SMTP-Client (Sender) stellt eine bidirektionale Verbindung zu einem SMTP-Server (Empfänger) her
  2. Der Server sendet eine Begrüßungsnachricht
  3. Der Client sendet SMTP-Befehle an den Server
  4. Der Server antwortet mit numerischen Antwortcodes und Textnachrichten
  5. Der Client überträgt die Mail, falls akzeptiert
  6. Die Verbindung wird geschlossen

Modellkomponenten

[User Agent] → [Mail Submission Agent (MSA)]

[Message Transfer Agent (MTA)]
↓ SMTP
[Message Transfer Agent (MTA)]

[Mail Delivery Agent (MDA)]

[Mailbox]

[Mail Access Agent (MAA)]

[User Agent]

2.2. Das Erweiterungssystem (The Extension System)

2.2.1. Hintergrund (Background)

Das ursprüngliche SMTP (RFC 821) hatte begrenzte Fähigkeiten. Der SMTP-Erweiterungsmechanismus (ESMTP), eingeführt in RFC 1869, ermöglicht die Erweiterung des Protokolls mit neuen Funktionen unter Beibehaltung der Abwärtskompatibilität.

2.2.2. Definition und Registrierung von Erweiterungen (Definition and Registration of Extensions)

SMTP-Erweiterungen werden vom Server als Antwort auf den EHLO-Befehl (Extended HELLO, Erweitertes HALLO) angekündigt. Jede Erweiterung hat:

  • Ein Schlüsselwort (z. B. "SIZE", "STARTTLS", "8BITMIME")
  • Optionale Parameter
  • Eine RFC-Spezifikation, die ihr Verhalten definiert

Beispiel einer EHLO-Antwort:

C: EHLO client.example.com
S: 250-smtp.example.com
S: 250-SIZE 52428800
S: 250-8BITMIME
S: 250-STARTTLS
S: 250-AUTH PLAIN LOGIN
S: 250 HELP

Dies bedeutet, dass der Server Folgendes unterstützt:

  • SIZE: Maximale Nachrichtengröße von 52.428.800 Bytes
  • 8BITMIME: 8-Bit-MIME-Inhalt
  • STARTTLS: TLS-Verschlüsselung
  • AUTH: Authentifizierung (PLAIN- und LOGIN-Methoden)

2.2.3. Private Erweiterungen (X-Namensraum) (Private-Use Extensions (X-namespace))

Erweiterungs-Schlüsselwörter, die mit "X" beginnen, sind für experimentelle und private Verwendung reserviert. Diese Erweiterungen:

  • DÜRFEN NICHT (MUST NOT) bei der IANA registriert werden
  • DÜRFEN NICHT (MUST NOT) im öffentlichen Internet verwendet werden
  • MÜSSEN (MUST) nur für Tests oder private Bereitstellungen verwendet werden

Beispiel:

S: 250-XEXAMPLEEXT
S: 250 XPRIVATE-FEATURE

2.3. SMTP-Terminologie (SMTP Terminology)

2.3.1. Mail-Objekte (Mail Objects, MO)

Ein Mail-Objekt enthält:

  • Umschlag: Routing-Informationen (MAIL FROM, RCPT TO)
  • Inhalt: Die Nachrichtenheader und den Nachrichtentext

Wichtig: Umschlag und Header können unterschiedliche Adressen enthalten!

2.3.2. Benutzer und Mailboxen (Users and Mailboxes)

  • Benutzer: Ein menschlicher oder Prozess-Mailempfänger
  • Mailbox: Ein konzeptioneller Speicherort für Mail
  • Mailbox-Adresse: Format local-part@domain
    • local-part: Identifiziert die Mailbox (max. 64 Zeichen)
    • domain: Identifiziert das Host-System (Domain-Name oder IP-Literal)

Beispiele:

2.3.3. Hosts (Hosts)

Ein Host ist ein Computersystem, das SMTP-Server- oder Client-Software ausführt. Hosts werden identifiziert durch:

  • Domain-Namen: mail.example.com
  • IP-Adressen: 192.0.2.1 oder 2001:db8::1

2.3.4. Server und Clients (Servers and Clients)

  • SMTP-Server: Wartet auf eingehende Verbindungen, empfängt Mail
  • SMTP-Client: Initiiert Verbindungen, sendet Mail

Ein System kann sowohl als Client als auch als Server agieren:

  • Server beim Empfang von Mail
  • Client beim Weiterleiten von Mail

2.3.5. Befehle und Antworten (Commands and Replies)

Befehle: ASCII-Textzeilen, die vom Client an den Server gesendet werden

  • Format: COMMAND [arguments]<CRLF>
  • Beispiele: EHLO, MAIL FROM, RCPT TO, DATA, QUIT

Antworten: Dreistellige numerische Codes plus Textnachrichten

  • Format: code message<CRLF>
  • Beispiele: 250 Ok, 550 User unknown

2.3.6. Vorwärtspfad, Rückwärtspfad und Umschläge (Forward-path, Reverse-path, and Envelopes)

  • Rückwärtspfad (Reverse-path): Absenderadresse (MAIL FROM)
  • Vorwärtspfad (Forward-path): Empfängeradresse (RCPT TO)
  • Umschlag (Envelope): Kombiniert Rückwärtspfad und Vorwärtspfad(e)

Beispiel:

MAIL FROM:<[email protected]>     (Rückwärtspfad)
RCPT TO:<[email protected]> (Vorwärtspfad)
RCPT TO:<[email protected]> (Vorwärtspfad)

2.3.7. Submission-Agenten und Message-Transfer-Agenten (Submission Agents and Message Transfer Agents)

  • Mail Submission Agent (MSA): Akzeptiert Mail von User Agents

    • Port 587 (RFC 4409)
    • Erfordert in der Regel Authentifizierung
    • Wendet Submission-Richtlinien an
  • Message Transfer Agent (MTA): Überträgt Mail zwischen Systemen

    • Port 25
    • Handhabt Routing und Zustellung
    • Verwaltet Warteschlangen und Wiederholungen

2.3.8. Message-Access-Agenten (Message Access Agents)

MAAs ermöglichen Benutzern den Abruf von Mail:

  • POP3 (Post Office Protocol): Herunterladen und löschen
  • IMAP (Internet Message Access Protocol): Remote-Mailbox-Zugriff

Diese Protokolle sind von SMTP getrennt und werden in diesem Dokument nicht behandelt.

2.3.9. Mail-Ursprünge und Ziele (Mail Originators and Targets)

  • Ursprung (Originator): System oder Benutzer, das/der Mail erstellt
  • Ziel (Target): Endempfänger der Mail

2.3.10. Message-Processing-Agenten und Mailinglisten (Message Processing Agents and Mailing Lists)

Message-Processing-Agenten können:

  • Mailinglisten erweitern
  • Filter anwenden
  • Inhalte ändern (z. B. Listen-Footer hinzufügen)
  • Nachrichten archivieren

2.3.11. Gateways (Gateways)

Gateways verbinden SMTP mit anderen Mail-Systemen:

  • X.400
  • UUCP
  • Proprietäre Systeme

Gateways übersetzen zwischen Protokollen, Formaten und Adressen.

2.4. Allgemeine Mail-Zustellung (General Mail Delivery)

Der Mail-Zustellungsprozess umfasst in der Regel mehrere Schritte:

  1. Erstellung: Benutzer verfasst Mail mit einem UA
  2. Einreichung: UA reicht bei MSA ein (Port 587)
  3. Routing: MSA leitet an entsprechenden MTA weiter
  4. Transfer: Mail kann mehrere MTAs durchlaufen
  5. Zustellung: Endgültiger MTA liefert an MDA
  6. Speicherung: MDA speichert in Mailbox
  7. Abruf: Benutzer ruft über MAA ab (POP3/IMAP)

Jeder Hop verwendet SMTP zwischen MTAs, während andere Protokolle Einreichung und Abruf handhaben.