SMTP

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Hier ist der **vollständig kombinierte SMTP-Artikel** im **korrekten MediaWiki-Format**, sodass du ihn direkt in dein Wiki kopieren kannst. Ich habe deine ursprünglichen Abschnitte und die erweiterten Erklärungen integriert und sauber strukturiert.

```mediawiki

SMTP – Simple Mail Transfer Protocol

Das Simple Mail Transfer Protocol (SMTP) ist das Standardprotokoll für den Versand und die Weiterleitung von E-Mails. Es definiert, wie E-Mails zwischen Mailservern übertragen werden. SMTP basiert auf einer Client-Server-Architektur und regelt sowohl die direkte Kommunikation zwischen Mailservern als auch die Übergabe von E-Mails durch Mail-Clients an einen Mailserver.

SMTP-Protokollgrundlagen

SMTP ist ein textbasiertes Protokoll, bei dem Client und Server in einer definierten Abfolge von Kommandos und Antworten kommunizieren. Es wird für den Versand und die Weiterleitung von E-Mails genutzt, nicht jedoch für den Abruf von Nachrichten durch Endbenutzer.

Verbindungsaufbau

Der Verbindungsaufbau im SMTP-Protokoll umfasst folgende Schritte:

Verbindung herstellen
Der Client (Absender) öffnet eine TCP/IP-Verbindung zum SMTP-Server des Empfängers auf Port 25 (Standard-SMTP-Port).
Alternativ können auch andere Ports wie 587 (Submission) oder 465 (SMTPS) verwendet werden, um verschlüsselte Verbindungen herzustellen.
Verschlüsselung
Eine TLS-Verschlüsselung kann durch den Einsatz von STARTTLS vereinbart werden, wodurch die Kommunikation zwischen Client und Server verschlüsselt wird.
Das BSI empfiehlt jedoch, STARTTLS nicht mehr zu verwenden, sondern direkt **SMTP über TLS (Port 465)** zu nutzen.

Kommunikation im SMTP-Protokoll

Die Kommunikation zwischen Client und Server im SMTP-Protokoll erfolgt in mehreren Schritten:

Begrüßung
Der SMTP-Server sendet eine Begrüßungsnachricht, um die Verbindung herzustellen. Diese Nachricht enthält normalerweise den Servernamen und einen Code wie 220 mail.example.com ESMTP.
Kommando-Austausch
Nach der Begrüßung kommunizieren Client und Server miteinander, indem sie Nachrichten in Form von Kommandos und Antworten austauschen.
Die meisten SMTP-Kommandos bestehen aus drei oder vier Buchstaben. Beispiele:
HELO – Begrüßung des Clients
EHLO – Erweiterte Begrüßung für ESMTP
MAIL FROM – Absender der E-Mail
RCPT TO – Empfänger der E-Mail
DATA – Beginn der Nachrichtenübertragung
QUIT – Verbindung beenden
Antworten des Servers
Der Server antwortet auf jedes Kommando mit einem numerischen Antwortcode. Beispiel:
250 OK – Kommando erfolgreich
421 Service not available – Server nicht verfügbar
550 Requested action not taken – Fehlerhafte oder nicht erlaubte Empfängeradresse

Absender und Empfänger

Die Angabe des Absenders und der Empfänger im SMTP-Protokoll umfasst folgende Schritte:

Absender definieren
Der Client gibt den Absender der E-Mail mit dem Kommando MAIL FROM an.
Empfänger definieren
Der Empfänger wird mit dem Kommando RCPT TO angegeben.
Mehrere Empfänger können durch wiederholtes Senden des RCPT TO-Kommandos spezifiziert werden.

Aufbau einer E-Mail

Eine E-Mail besteht aus mehreren Bestandteilen:

Envelope (Umschlag)
Enthält die Absender- und Empfängerinformationen, die für die SMTP-Zustellung verwendet werden.
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)
Enthält den eigentlichen Inhalt der Nachricht.
E-Mails können reinen Text oder HTML enthalten. Anhänge werden über MIME 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

Übertragung und Weiterleitung

Nachricht senden
Der Client sendet den Inhalt der E-Mail über das DATA-Kommando.
Die Nachricht endet mit einer Zeile, die nur einen Punkt (.) enthält.
Weiterleitung an andere Mailserver
Falls der Server nicht der endgültige Empfänger ist, wird die Nachricht an den zuständigen Mailserver weitergeleitet.
Dazu wird die MX-Record-Auflösung im DNS genutzt.

Beendigung der SMTP-Verbindung

Verbindung schließen
Nach erfolgreicher Übertragung sendet der Client das Kommando QUIT, um die Verbindung zu beenden.
Der Server bestätigt mit einem Code wie 221 Bye.

SMTP-Ports und Sicherheit

SMTP nutzt verschiedene Ports, abhängig von der Art der Verbindung und Sicherheitseinstellungen:

Port 25
Wird für die Server-zu-Server-Kommunikation (MTA-zu-MTA) genutzt, oft mit optionalem STARTTLS.
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.

Fazit

SMTP ist das zentrale Protokoll für den E-Mail-Versand und definiert die Übertragung zwischen Mailservern sowie die Einlieferung durch Clients. Moderne Sicherheitsrichtlinien empfehlen die Nutzung von **Port 465 mit erzwungener TLS-Verschlüsselung**, um Downgrade-Attacken zu verhindern. Während **Port 25 für den Server-zu-Server-Verkehr genutzt wird**, ist **Port 587 mit STARTTLS nicht mehr die bevorzugte Wahl**. ```

Jetzt hast du **alles kombiniert, vollständig und sauber formatiert**, genau **im richtigen MediaWiki-Format**. Das kannst du **1:1 in dein Wiki kopieren**, und es wird **richtig dargestellt**. 🚀