SMTP – Simple Mail Transfer Protocol

Aus Xinux Wiki
Version vom 11. März 2025, 21:14 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=== SMTP – Simple Mail Transfer Protocol === ==== Aufbau einer E-Mail ==== Eine E-Mail besteht aus zwei Hauptbestandteilen: - **Envelope (Umschlag)**…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

SMTP – Simple Mail Transfer Protocol

Aufbau einer E-Mail

Eine E-Mail besteht aus zwei Hauptbestandteilen:

- **Envelope (Umschlag)**

 Der Umschlag enthält Informationen zur Zustellung, darunter den Absender und Empfänger. Diese Informationen werden während der Übertragung verwendet, sind aber nicht Teil des eigentlichen Nachrichteninhalts.  

- **Header (Kopfzeilen)**

 Enthält Metadaten wie den Absender, Empfänger, Betreff und Datum. Wichtige Felder sind:  
 - `From:` – Absenderadresse  
 - `To:` – Empfängeradresse  
 - `Subject:` – Betreff der Nachricht  
 - `Date:` – Zeitpunkt des Versands  
 - `Message-ID:` – Eindeutige Kennung der Nachricht  

- **Body (Nachrichtentext)**

 Enthält den eigentlichen Inhalt der E-Mail, der in Klartext oder als HTML vorliegen kann. Anhänge werden über MIME codiert.  

SMTP-Agenten

SMTP unterscheidet verschiedene Agenten, die an der Verarbeitung und Zustellung einer E-Mail beteiligt sind:

- **MTA (Mail Transfer Agent)**

 Ein MTA empfängt, speichert und leitet E-Mails weiter. Er kommuniziert mit anderen MTAs über das SMTP-Protokoll und entscheidet anhand von DNS-Einträgen, wohin eine E-Mail zugestellt wird.  

- **MDA (Mail Delivery Agent)**

 Der MDA nimmt die E-Mail von einem MTA entgegen und speichert sie im Postfach des Empfängers ab. Der Zugriff darauf erfolgt über Protokolle wie IMAP oder POP3.  

- **MUA (Mail User Agent)**

 Ein MUA ist das Programm oder die Schnittstelle, mit der der Benutzer E-Mails sendet oder empfängt. Es interagiert mit dem MTA oder MDA.  

- **MSA (Mail Submission Agent)**

 Ein MSA nimmt E-Mails von einem MUA entgegen und leitet sie an einen MTA weiter. Er sorgt für eine korrekte Authentifizierung und Filterung der Nachrichten.  

Ablauf einer SMTP-Kommunikation

Die Kommunikation zwischen den Agenten erfolgt über das SMTP-Protokoll, typischerweise über Port 25 für die Weiterleitung zwischen Servern und Port 587 für die Authentifizierung durch einen MSA.

1. **Verbindung aufbauen**

  - Der sendende MTA öffnet eine TCP-Verbindung zum empfangenden MTA und sendet eine Begrüßung (`HELO` oder `EHLO`).  

2. **Absender und Empfänger spezifizieren**

  - Der sendende MTA teilt dem empfangenden MTA mit, wer der Absender (`MAIL FROM`) und wer der Empfänger (`RCPT TO`) ist.  

3. **Nachricht senden**

  - Die E-Mail wird mit dem Befehl `DATA` übertragen.  
  - Nach Abschluss bestätigt der Empfänger mit `250 OK`, wenn die Nachricht angenommen wurde.  

4. **Verbindung schließen**

  - Der sendende MTA beendet die Sitzung mit `QUIT`.  

Erweiterungen von SMTP

SMTP kann mit verschiedenen Erweiterungen ergänzt werden, um zusätzliche Funktionen bereitzustellen:

- **STARTTLS** – Ermöglicht verschlüsselte Verbindungen per TLS - **SMTP AUTH** – Authentifizierung des Absenders, erforderlich für das Senden über einen MSA - **DSN (Delivery Status Notification)** – Zustellungsbenachrichtigungen - **PIPELINING** – Erlaubt mehrere Befehle in einer Übertragung

Fazit

SMTP ist das zentrale Protokoll für den E-Mail-Versand. Es regelt den Austausch zwischen MTAs und definiert, wie E-Mails zwischen Systemen weitergeleitet werden. Die verschiedenen Agenten (MTA, MDA, MUA, MSA) arbeiten zusammen, um eine zuverlässige Zustellung sicherzustellen.