Zum Hauptinhalt springen

5. ELECTRONIC MAIL -- SMTP AND RFC-822 (Elektronische Post -- SMTP und RFC-822)

5.1 INTRODUCTION (Einführung)

Elektronische Post ist eine der wichtigsten Anwendungen im Internet. Sie verwendet zwei Hauptprotokolle:

  • RFC-822: Definiert das Format von Mail-Nachrichten
  • SMTP: Simple Mail Transfer Protocol zum Senden von Mails

Jeder Internet-Host SOLLTE SMTP und RFC-822 für das Senden und Empfangen von elektronischer Post implementieren (SHOULD).

5.2 PROTOCOL WALK-THROUGH (Protokolldurchlauf)

5.2.1 RFC-822

RFC-822 definiert die Syntax von Mail-Nachrichten. Eine Mail-Nachricht besteht aus:

  • Header: Enthält Felder wie From, To, Subject, Date
  • Body: Der tatsächliche Nachrichteninhalt

Häufige Header-Felder

  • From: Der Absender der Nachricht (erforderlich)
  • To: Der/die Hauptempfänger (beim Senden erforderlich)
  • Cc: Kopie-Empfänger
  • Bcc: Blindkopie-Empfänger
  • Subject: Betreffzeile
  • Date: Datum und Uhrzeit des Sendens der Nachricht
  • Message-ID: Eindeutiger Nachrichten-Identifikator
  • Received: Trace-Informationen

5.2.2 SMTP

SMTP ist ein Protokoll zum Senden von Mail-Nachrichten zwischen Hosts. SMTP verwendet TCP-Port 25.

SMTP-Befehle

  • HELO: Identifikation des Clients beim Server
  • EHLO: Erweitertes HELO (ESMTP)
  • MAIL FROM: Angabe des Absenders
  • RCPT TO: Angabe des Empfängers
  • DATA: Beginn des Nachrichteninhalts
  • RSET: Zurücksetzen der Transaktion
  • VRFY: Überprüfung des Empfängers
  • EXPN: Erweiterung der Mailingliste
  • HELP: Hilfeinformationen
  • NOOP: Keine Operation
  • QUIT: Schließen der Verbindung

SMTP-Antwortcodes

SMTP verwendet dreistellige Antwortcodes:

  • 2xx: Positive Vollendung
  • 3xx: Positive Zwischenstufe
  • 4xx: Vorübergehende negative Vollendung
  • 5xx: Dauerhafte negative Vollendung

5.3 SPECIFIC ISSUES (Spezifische Probleme)

5.3.1 SMTP

5.3.1.1 Sending Strategy (Sendestrategie)

Ein SMTP-Client SOLLTE eine konfigurierbare Strategie für das Einreihen und Wiederholen fehlgeschlagener Mail-Sendungen implementieren (SHOULD). Die Wiederholungsstrategie SOLLTE exponentielles Backoff verwenden (SHOULD).

5.3.1.2 Receiving Strategy (Empfangsstrategie)

Ein SMTP-Server MUSS Mail für gültige lokale Empfänger akzeptieren (MUST). Ein SMTP-Server SOLLTE die Gültigkeit des Empfängers überprüfen, bevor er Mail akzeptiert (SHOULD).

5.3.1.3 Error Handling (Fehlerbehandlung)

Eine SMTP-Implementierung MUSS alle SMTP-Antwortcodes korrekt behandeln (MUST). Vorübergehende Fehler (4xx) sollten zu Wiederholungen führen, und dauerhafte Fehler (5xx) sollten zu Unzustellbarkeitsbenachrichtigungen führen.

5.3.1.4 Timeouts (Zeitüberschreitungen)

Eine SMTP-Implementierung MUSS geeignete Zeitüberschreitungen verwenden (MUST):

  • Initiale 220-Nachricht: 5 Minuten
  • MAIL-Befehl: 5 Minuten
  • RCPT-Befehl: 5 Minuten
  • DATA-Initiierung: 2 Minuten
  • DATA-Block: 3 Minuten
  • DATA-Beendigung: 10 Minuten

5.3.2 RFC-822

5.3.2.1 Message Format (Nachrichtenformat)

Implementierungen MÜSSEN Nachrichten generieren, die der RFC-822-Syntax entsprechen (MUST). Implementierungen SOLLTEN jedoch liberal sein beim Akzeptieren von Nachrichten mit kleineren Abweichungen (SHOULD).

5.3.2.2 Address Formats (Adressformate)

RFC-822 definiert mehrere Adressformate. Implementierungen MÜSSEN Mailbox-Adressen unterstützen (MUST) und SOLLTEN Gruppenadressen unterstützen (SHOULD).

5.3.2.3 Date and Time (Datum und Uhrzeit)

Jede Mail-Nachricht MUSS ein Date-Header-Feld enthalten (MUST). Das Datum MUSS das RFC-822-Datums- und Uhrzeitformat verwenden (MUST).

5.4 SMTP REQUIREMENTS SUMMARY (Zusammenfassung der SMTP-Anforderungen)

FunktionalitätAbschnittMUSTSHOULDMAYAnmerkung
SMTP implementieren5.1
RFC-822 implementieren5.1
Mail für lokale Empfänger akzeptieren5.3.1.2
Exponentielles Backoff für Wiederholungen5.3.1.1
Alle Antwortcodes korrekt behandeln5.3.1.3
Geeignete Zeitüberschreitungen verwenden5.3.1.4
RFC-822-konforme Nachrichten generieren5.3.2.1
Date-Header einschließen5.3.2.3