SMTP – Simple Mail Transfer Protocol
Version vom 11. März 2025, 21:19 Uhr von Thomas.will (Diskussion | Beiträge) (→Aufbau einer E-Mail)
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 Daten sind nicht direkt im Mail-Header sichtbar, sondern werden nur während der Übertragung verwendet.
- **Header (Kopfzeilen)**
- Enthält Metadaten zur Nachricht. Wichtige Felder sind:
- From: Absenderadresse
- To: Empfängeradresse
- Cc: Kopieempfänger (Carbon Copy)
- Bcc: Verdeckte Kopieempfänger (Blind Carbon Copy), nicht für andere sichtbar
- Subject: Betreff der Nachricht
- Date: Zeitpunkt des Versands
- Message-ID: Eindeutige Kennung der Nachricht
- Reply-To: Adresse für Antworten
- Received: Enthält die Routing-Informationen der Nachricht
- **Body (Nachrichtentext)**
- Der eigentliche Inhalt der E-Mail. Dieser kann reinen Text oder HTML enthalten. Anhänge werden mit MIME (Multipurpose Internet Mail Extensions) codiert.
Beispiel einer E-Mail
From: alice@example.com To: bob@example.com Cc: charlie@example.com Bcc: dave@example.com Subject: Testmail Date: Tue, 12 Mar 2024 10:00:00 +0100 Message-ID: <123456@example.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Hallo Bob, dies ist eine Testmail mit CC und BCC. Grüße Alice
SMTP-Agenten
- **MTA (Mail Transfer Agent)**
- Ein MTA empfängt, speichert und leitet E-Mails weiter. Er kommuniziert mit anderen MTAs über SMTP 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.
- **MUA (Mail User Agent)**
- Ein MUA ist das Programm oder die Schnittstelle, mit der der Benutzer E-Mails sendet oder empfängt.
- **MSA (Mail Submission Agent)**
- Ein MSA nimmt E-Mails von einem MUA entgegen und leitet sie an einen MTA weiter.
Ablauf einer SMTP-Kommunikation
1. **Verbindung aufbauen**
* Der sendende MTA öffnet eine TCP-Verbindung zum empfangenden MTA auf Port 25 oder 587. * Begrüßung über `HELO` oder `EHLO`.
2. **Absender und Empfänger spezifizieren**
* `MAIL FROM:<alice@example.com>` * `RCPT TO:<bob@example.com>`
3. **Nachricht senden**
* `DATA` * Header und Nachricht werden übertragen * Abschluss mit `.`
4. **Bestätigung und Beenden**
* Server antwortet mit `250 OK` * Verbindung wird mit `QUIT` beendet
Beispiel einer SMTP-Sitzung
220 mail.example.com ESMTP EHLO sender.example.com 250-mail.example.com 250-SIZE 10485760 250-STARTTLS 250 AUTH PLAIN LOGIN MAIL FROM:<alice@example.com> 250 OK RCPT TO:<bob@example.com> 250 OK DATA 354 End data with <CR><LF>.<CR><LF> From: alice@example.com To: bob@example.com Subject: Test Dies ist eine SMTP-Testnachricht. . 250 OK: queued as 12345 QUIT 221 Bye
Erweiterungen von SMTP
- **STARTTLS** – Verschlüsselte Verbindung mit TLS
- **SMTP AUTH** – Authentifizierung des Absenders
- **DSN (Delivery Status Notification)** – Rückmeldung über Zustellstatus
- **PIPELINING** – Mehrere Befehle in einer Übertragung
Fazit
SMTP regelt den Versand und Empfang von E-Mails zwischen Servern. Dabei arbeiten verschiedene Agenten wie MTA, MDA und MSA zusammen. Eine E-Mail enthält Header, Body und Routing-Informationen. Durch Erweiterungen wie STARTTLS und SMTP AUTH kann die Sicherheit verbessert werden.