SMTP
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**. 🚀
Beispiele
- telnet smtp.gmail.com 25
helo smtp.gmail.com
- openssl s_client -connect smtp.gmail.com:465
helo smtp.gmail.com