SMTP – Simple Mail Transfer Protocol: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=== SMTP – Simple Mail Transfer Protocol === ==== Aufbau einer E-Mail ==== Eine E-Mail besteht aus zwei Hauptbestandteilen: - **Envelope (Umschlag)**…“)
 
Zeile 2: Zeile 2:
  
 
==== Aufbau einer E-Mail ====   
 
==== Aufbau einer E-Mail ====   
 +
 
Eine E-Mail besteht aus zwei Hauptbestandteilen:   
 
Eine E-Mail besteht aus zwei Hauptbestandteilen:   
  
- **Envelope (Umschlag)**   
+
; **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.   
+
: 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.   
  
- **Header (Kopfzeilen)** 
+
==== Beispiel einer E-Mail ====  
  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)**  
+
<pre> 
  Enthält den eigentlichen Inhalt der E-Mail, der in Klartext oder als HTML vorliegen kann. Anhänge werden über MIME codiert.   
+
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 
 +
</pre>  
  
 
==== SMTP-Agenten ====   
 
==== SMTP-Agenten ====   
SMTP unterscheidet verschiedene Agenten, die an der Verarbeitung und Zustellung einer E-Mail beteiligt sind: 
 
  
- **MTA (Mail Transfer Agent)**   
+
; **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.   
+
: 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)**   
+
; **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.   
+
: Der MDA nimmt die E-Mail von einem MTA entgegen und speichert sie im Postfach des Empfängers.   
  
- **MUA (Mail User Agent)**   
+
; **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.   
+
: Ein MUA ist das Programm oder die Schnittstelle, mit der der Benutzer E-Mails sendet oder empfängt.   
  
- **MSA (Mail Submission Agent)**   
+
; **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.   
+
: Ein MSA nimmt E-Mails von einem MUA entgegen und leitet sie an einen MTA weiter.   
  
 
==== Ablauf einer SMTP-Kommunikation ====   
 
==== 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**   
 
1. **Verbindung aufbauen**   
   - Der sendende MTA öffnet eine TCP-Verbindung zum empfangenden MTA und sendet eine Begrüßung (`HELO` oder `EHLO`).   
+
   * 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**   
 
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.  
+
   * `MAIL FROM:<alice@example.com>`
 +
  * `RCPT TO:<bob@example.com>`   
  
 
3. **Nachricht senden**   
 
3. **Nachricht senden**   
   - Die E-Mail wird mit dem Befehl `DATA` übertragen.   
+
   * `DATA`
   - Nach Abschluss bestätigt der Empfänger mit `250 OK`, wenn die Nachricht angenommen wurde.   
+
  * 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 ==== 
 +
 
 +
<pre> 
 +
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.   
  
4. **Verbindung schließen**  
+
.   
  - Der sendende MTA beendet die Sitzung mit `QUIT`.  
+
250 OK: queued as 12345 
 +
QUIT
 +
221 Bye 
 +
</pre>  
  
 
==== Erweiterungen von SMTP ====   
 
==== Erweiterungen von SMTP ====   
SMTP kann mit verschiedenen Erweiterungen ergänzt werden, um zusätzliche Funktionen bereitzustellen: 
 
  
- **STARTTLS** – Ermöglicht verschlüsselte Verbindungen per TLS   
+
* **STARTTLS** – Verschlüsselte Verbindung mit TLS   
- **SMTP AUTH** – Authentifizierung des Absenders, erforderlich für das Senden über einen MSA  
+
* **SMTP AUTH** – Authentifizierung des Absenders   
- **DSN (Delivery Status Notification)** – Zustellungsbenachrichtigungen  
+
* **DSN (Delivery Status Notification)** – Rückmeldung über Zustellstatus  
- **PIPELINING** – Erlaubt mehrere Befehle in einer Übertragung   
+
* **PIPELINING** – Mehrere Befehle in einer Übertragung   
  
 
==== Fazit ====   
 
==== 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.
+
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.

Version vom 11. März 2025, 21:16 Uhr

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.