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)**…“)
 
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=== SMTP – Simple Mail Transfer Protocol ===
+
====Einführung in SMTP====
  
==== Aufbau einer E-Mail ====
+
Das '''Simple Mail Transfer Protocol (SMTP)''' ist das Standardprotokoll für den Versand und die Weiterleitung von E-Mails. Es regelt, wie E-Mails zwischen Mailservern übertragen werden und welche Ports für die Kommunikation genutzt werden. 
 +
 
 +
; '''Port 25''' 
 +
: Wird für die Server-zu-Server-Kommunikation (MTA-zu-MTA) genutzt, meist mit optionalem STARTTLS. 
 +
: Achtung: Viele Provider blockieren ausgehenden Traffic auf Port 25, um Spam zu verhindern. 
 +
 
 +
; '''Port 465''' 
 +
: Wird für Mail-Submission genutzt, **mit erzwungener TLS-Verschlüsselung (Implicit TLS)**. 
 +
: Diese Methode wird vom BSI empfohlen, da sie nicht durch Downgrade-Angriffe manipuliert werden kann. 
 +
 
 +
; '''Port 587''' 
 +
: Wird für Mail-Submission genutzt, aber mit **STARTTLS** (opportunistische Verschlüsselung). 
 +
: Das BSI rät von STARTTLS ab, da es durch Man-in-the-Middle-Angriffe entfernt werden kann. 
 +
 
 +
'''Hinweis:''' 
 +
Das **BSI empfiehlt ausdrücklich Port 465 für Mail-Submission**, da hier eine direkte TLS-Verbindung erzwungen wird. 
 +
Port 25 bleibt für den Transport zwischen Mailservern (MTA-zu-MTA), ist aber für Clients ungeeignet.
 +
 
 +
 
 +
Das '''Simple Mail Transfer Protocol (SMTP)''' ist das Standardprotokoll für den Versand und die Weiterleitung von E-Mails. Es regelt, wie E-Mails zwischen Mailservern übertragen werden und welche Ports für die Kommunikation genutzt werden. 
 +
 
 +
; '''Port 25''' 
 +
: Wird für die Server-zu-Server-Kommunikation (MTA-zu-MTA) genutzt, meist mit optionalem STARTTLS. 
 +
: Achtung: Viele Provider blockieren ausgehenden Traffic auf Port 25, um Spam zu verhindern. 
 +
 
 +
; '''Port 465''' 
 +
: Wird für Mail-Submission genutzt, **mit erzwungener TLS-Verschlüsselung (Implicit TLS)**. 
 +
: Diese Methode wird vom BSI empfohlen, da sie nicht durch Downgrade-Angriffe manipuliert werden kann. 
 +
 
 +
; '''Port 587''' 
 +
: Wird für Mail-Submission genutzt, aber mit **STARTTLS** (opportunistische Verschlüsselung). 
 +
: Das BSI rät von STARTTLS ab, da es durch Man-in-the-Middle-Angriffe entfernt werden kann. 
 +
 
 +
'''Hinweis:''' 
 +
Das **BSI empfiehlt ausdrücklich Port 465 für Mail-Submission**, da hier eine direkte TLS-Verbindung erzwungen wird. 
 +
Port 25 bleibt für den Transport zwischen Mailservern (MTA-zu-MTA), ist aber für Clients ungeeignet.
 +
}}
 +
 
 +
==== 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.   
+
: Enthält die Adressen des Absenders und des Empfängers, die für die SMTP-Zustellung verwendet werden. Diese Informationen sind nicht im Header sichtbar. 
 +
 
 +
; '''Header (Kopfzeilen)''' 
 +
: Enthält Metadaten zur E-Mail. Wichtige Felder sind: 
 +
 
 +
: '''From:''' Absenderadresse 
 +
: '''To:''' Empfängeradresse 
 +
: '''Cc:''' Kopieempfänger (Carbon Copy) 
 +
: '''Bcc:''' Verdeckte Kopieempfänger (Blind Carbon Copy) 
 +
: '''Subject:''' Betreff der Nachricht 
 +
: '''Date:''' Zeitpunkt des Versands 
 +
: '''Message-ID:''' Eindeutige Kennung der Nachricht 
 +
: '''Reply-To:''' Adresse für Antworten 
 +
: '''Received:''' Routing-Informationen über die Mailserver, die die E-Mail verarbeitet haben 
 +
: '''MIME-Version:''' Gibt an, ob die E-Mail Multipart-Inhalte oder Anhänge enthält 
 +
: '''Content-Type:''' Definiert das Format der Nachricht, z. B. Text oder HTML 
 +
 
 +
; '''Body (Nachrichtentext)''' 
 +
: Der eigentliche Inhalt der E-Mail. Er kann reinen Text oder HTML enthalten. Anhänge werden über MIME (Multipurpose Internet Mail Extensions) codiert. 
 +
 
 +
==== Beispiel einer E-Mail ====
 +
Ein vollständiges Beispiel einer SMTP-E-Mail mit Header und Body: 
 +
 
 +
<pre>
 +
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 ====
 +
Bei der Verarbeitung einer E-Mail sind mehrere Komponenten beteiligt: 
 +
 
 +
; '''MTA (Mail Transfer Agent)''' 
 +
: Nimmt E-Mails entgegen, speichert sie und leitet sie weiter.   
  
- **Header (Kopfzeilen)** 
+
; '''MDA (Mail Delivery Agent)'''  
  Enthält Metadaten wie den Absender, Empfänger, Betreff und Datum. Wichtige Felder sind: 
+
: Zuständig für die Ablage der E-Mail im Postfach des Empfängers.  
  - `From:` – Absenderadresse 
 
  - `To:` – Empfängeradresse  
 
  - `Subject:` – Betreff der Nachricht 
 
  - `Date:` – Zeitpunkt des Versands 
 
  - `Message-ID:` – Eindeutige Kennung der Nachricht  
 
  
- **Body (Nachrichtentext)**  
+
; '''MUA (Mail User Agent)'''  
  Enthält den eigentlichen Inhalt der E-Mail, der in Klartext oder als HTML vorliegen kann. Anhänge werden über MIME codiert.   
+
: Das E-Mail-Programm oder Webmail-Interface des Benutzers zum Senden und Empfangen von E-Mails.   
  
==== SMTP-Agenten ====  
+
; '''MSA (Mail Submission Agent)'''  
SMTP unterscheidet verschiedene Agenten, die an der Verarbeitung und Zustellung einer E-Mail beteiligt sind:  
+
: Nimmt E-Mails von einem MUA entgegen und übergibt sie an den MTA zur Weiterleitung.  
  
- **MTA (Mail Transfer Agent)** 
+
==== Ablauf einer SMTP-Kommunikation ====
  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.  
+
Die SMTP-Kommunikation erfolgt in mehreren Schritten:  
  
- **MDA (Mail Delivery Agent)**  
+
# Der sendende Server öffnet eine TCP-Verbindung zum empfangenden Server auf Port 25 oder 587. 
  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 Server begrüßt sich mit `HELO` oder `EHLO`. 
 +
# Der Absender (`MAIL FROM`) und Empfänger (`RCPT TO`) werden angegeben.  
 +
# Die Nachricht wird mit `DATA` gesendet, gefolgt von einem Punkt (`.`) zur Beendigung.
 +
# Der Server bestätigt die Annahme mit `250 OK`. 
 +
# Die Verbindung wird mit `QUIT` beendet.   
  
- **MUA (Mail User Agent)** 
+
==== Beispiel einer SMTP-Sitzung ====
  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.  
+
Hier ein Beispiel für eine SMTP-Interaktion zwischen zwei Servern:  
  
- **MSA (Mail Submission Agent)** 
+
<pre>
  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.
+
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
  
==== Ablauf einer SMTP-Kommunikation ==== 
+
Dies ist eine SMTP-Testnachricht.
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`).  
+
250 OK: queued as 12345
 +
QUIT
 +
221 Bye
 +
</pre>  
  
2. **Absender und Empfänger spezifizieren** 
+
==== Erweiterungen von SMTP ====
  - Der sendende MTA teilt dem empfangenden MTA mit, wer der Absender (`MAIL FROM`) und wer der Empfänger (`RCPT TO`) ist.  
+
SMTP kann durch verschiedene Erweiterungen ergänzt werden:  
  
3. **Nachricht senden**  
+
; '''STARTTLS'''  
  - Die E-Mail wird mit dem Befehl `DATA` übertragen. 
+
: Ermöglicht die Verschlüsselung der Verbindung mit TLS.   
  - Nach Abschluss bestätigt der Empfänger mit `250 OK`, wenn die Nachricht angenommen wurde.   
 
  
4. **Verbindung schließen**  
+
; '''SMTP AUTH'''  
  - Der sendende MTA beendet die Sitzung mit `QUIT`.   
+
: Authentifiziert den Absender mit Benutzername und Passwort.   
  
==== Erweiterungen von SMTP ====  
+
; '''DSN (Delivery Status Notification)'''  
SMTP kann mit verschiedenen Erweiterungen ergänzt werden, um zusätzliche Funktionen bereitzustellen:   
+
: Ermöglicht die Rückmeldung über den Zustellstatus der E-Mail.  
  
- **STARTTLS** – Ermöglicht verschlüsselte Verbindungen per TLS  
+
; '''PIPELINING'''  
- **SMTP AUTH** – Authentifizierung des Absenders, erforderlich für das Senden über einen MSA 
+
: Erlaubt das Senden mehrerer Befehle in einer Übertragung, um die Effizienz zu steigern.  
- **DSN (Delivery Status Notification)** – Zustellungsbenachrichtigungen 
 
- **PIPELINING** – Erlaubt 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 ist das zentrale Protokoll für den E-Mail-Versand. Es definiert, wie E-Mails weitergeleitet werden und welche Komponenten an der Verarbeitung beteiligt sind. Durch Erweiterungen wie STARTTLS und SMTP AUTH kann die Sicherheit erhöht werden.
 +
}}

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

Einführung in SMTP

Das Simple Mail Transfer Protocol (SMTP) ist das Standardprotokoll für den Versand und die Weiterleitung von E-Mails. Es regelt, wie E-Mails zwischen Mailservern übertragen werden und welche Ports für die Kommunikation genutzt werden.

Port 25
Wird für die Server-zu-Server-Kommunikation (MTA-zu-MTA) genutzt, meist mit optionalem STARTTLS.
Achtung: Viele Provider blockieren ausgehenden Traffic auf Port 25, um Spam zu verhindern.
Port 465
Wird für Mail-Submission genutzt, **mit erzwungener TLS-Verschlüsselung (Implicit TLS)**.
Diese Methode wird vom BSI empfohlen, da sie nicht durch Downgrade-Angriffe manipuliert werden kann.
Port 587
Wird für Mail-Submission genutzt, aber mit **STARTTLS** (opportunistische Verschlüsselung).
Das BSI rät von STARTTLS ab, da es durch Man-in-the-Middle-Angriffe entfernt werden kann.

Hinweis: Das **BSI empfiehlt ausdrücklich Port 465 für Mail-Submission**, da hier eine direkte TLS-Verbindung erzwungen wird. Port 25 bleibt für den Transport zwischen Mailservern (MTA-zu-MTA), ist aber für Clients ungeeignet.


Das Simple Mail Transfer Protocol (SMTP) ist das Standardprotokoll für den Versand und die Weiterleitung von E-Mails. Es regelt, wie E-Mails zwischen Mailservern übertragen werden und welche Ports für die Kommunikation genutzt werden.

Port 25
Wird für die Server-zu-Server-Kommunikation (MTA-zu-MTA) genutzt, meist mit optionalem STARTTLS.
Achtung: Viele Provider blockieren ausgehenden Traffic auf Port 25, um Spam zu verhindern.
Port 465
Wird für Mail-Submission genutzt, **mit erzwungener TLS-Verschlüsselung (Implicit TLS)**.
Diese Methode wird vom BSI empfohlen, da sie nicht durch Downgrade-Angriffe manipuliert werden kann.
Port 587
Wird für Mail-Submission genutzt, aber mit **STARTTLS** (opportunistische Verschlüsselung).
Das BSI rät von STARTTLS ab, da es durch Man-in-the-Middle-Angriffe entfernt werden kann.

Hinweis: Das **BSI empfiehlt ausdrücklich Port 465 für Mail-Submission**, da hier eine direkte TLS-Verbindung erzwungen wird. Port 25 bleibt für den Transport zwischen Mailservern (MTA-zu-MTA), ist aber für Clients ungeeignet. }}

Aufbau einer E-Mail

Eine E-Mail besteht aus zwei Hauptbestandteilen:

Envelope (Umschlag)
Enthält die Adressen des Absenders und des Empfängers, die für die SMTP-Zustellung verwendet werden. Diese Informationen sind nicht im Header sichtbar.
Header (Kopfzeilen)
Enthält Metadaten zur E-Mail. Wichtige Felder sind:
From: Absenderadresse
To: Empfängeradresse
Cc: Kopieempfänger (Carbon Copy)
Bcc: Verdeckte Kopieempfänger (Blind Carbon Copy)
Subject: Betreff der Nachricht
Date: Zeitpunkt des Versands
Message-ID: Eindeutige Kennung der Nachricht
Reply-To: Adresse für Antworten
Received: Routing-Informationen über die Mailserver, die die E-Mail verarbeitet haben
MIME-Version: Gibt an, ob die E-Mail Multipart-Inhalte oder Anhänge enthält
Content-Type: Definiert das Format der Nachricht, z. B. Text oder HTML
Body (Nachrichtentext)
Der eigentliche Inhalt der E-Mail. Er kann reinen Text oder HTML enthalten. Anhänge werden über MIME (Multipurpose Internet Mail Extensions) codiert.

Beispiel einer E-Mail

Ein vollständiges Beispiel einer SMTP-E-Mail mit Header und Body:

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

Bei der Verarbeitung einer E-Mail sind mehrere Komponenten beteiligt:

MTA (Mail Transfer Agent)
Nimmt E-Mails entgegen, speichert sie und leitet sie weiter.
MDA (Mail Delivery Agent)
Zuständig für die Ablage der E-Mail im Postfach des Empfängers.
MUA (Mail User Agent)
Das E-Mail-Programm oder Webmail-Interface des Benutzers zum Senden und Empfangen von E-Mails.
MSA (Mail Submission Agent)
Nimmt E-Mails von einem MUA entgegen und übergibt sie an den MTA zur Weiterleitung.

Ablauf einer SMTP-Kommunikation

Die SMTP-Kommunikation erfolgt in mehreren Schritten:

  1. Der sendende Server öffnet eine TCP-Verbindung zum empfangenden Server auf Port 25 oder 587.
  2. Der Server begrüßt sich mit `HELO` oder `EHLO`.
  3. Der Absender (`MAIL FROM`) und Empfänger (`RCPT TO`) werden angegeben.
  4. Die Nachricht wird mit `DATA` gesendet, gefolgt von einem Punkt (`.`) zur Beendigung.
  5. Der Server bestätigt die Annahme mit `250 OK`.
  6. Die Verbindung wird mit `QUIT` beendet.

Beispiel einer SMTP-Sitzung

Hier ein Beispiel für eine SMTP-Interaktion zwischen zwei Servern:

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

SMTP kann durch verschiedene Erweiterungen ergänzt werden:

STARTTLS
Ermöglicht die Verschlüsselung der Verbindung mit TLS.
SMTP AUTH
Authentifiziert den Absender mit Benutzername und Passwort.
DSN (Delivery Status Notification)
Ermöglicht die Rückmeldung über den Zustellstatus der E-Mail.
PIPELINING
Erlaubt das Senden mehrerer Befehle in einer Übertragung, um die Effizienz zu steigern.

Fazit

SMTP ist das zentrale Protokoll für den E-Mail-Versand. Es definiert, wie E-Mails weitergeleitet werden und welche Komponenten an der Verarbeitung beteiligt sind. Durch Erweiterungen wie STARTTLS und SMTP AUTH kann die Sicherheit erhöht werden. }}