SMTP – Simple Mail Transfer Protocol: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
| (5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
=== SMTP | ====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: | 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 | : 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. | : 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 ==== | ==== Beispiel einer E-Mail ==== | ||
Ein vollständiges Beispiel einer SMTP-E-Mail mit Header und Body: | |||
<pre> | <pre> | ||
From: alice@example.com | From: alice@example.com | ||
To: bob@example.com | To: bob@example.com | ||
Cc: charlie@example.com | Cc: charlie@example.com | ||
Bcc: dave@example.com | Bcc: dave@example.com | ||
Subject: Testmail | Subject: Testmail | ||
Date: Tue, 12 Mar 2024 10:00:00 +0100 | Date: Tue, 12 Mar 2024 10:00:00 +0100 | ||
Message-ID: <123456@example.com> | Message-ID: <123456@example.com> | ||
MIME-Version: 1.0 | MIME-Version: 1.0 | ||
Content-Type: text/plain; charset="UTF-8" | Content-Type: text/plain; charset="UTF-8" | ||
Hallo Bob, | Hallo Bob, | ||
dies ist eine Testmail mit CC und BCC. | dies ist eine Testmail mit CC und BCC. | ||
Grüße | Grüße | ||
Alice | Alice | ||
</pre> | </pre> | ||
==== SMTP-Agenten ==== | ==== 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 ==== | ==== Ablauf einer SMTP-Kommunikation ==== | ||
Die SMTP-Kommunikation erfolgt in mehreren Schritten: | |||
# Der sendende Server öffnet eine TCP-Verbindung zum empfangenden Server auf Port 25 oder 587. | |||
# 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. | |||
==== Beispiel einer SMTP-Sitzung ==== | |||
Hier ein Beispiel für eine SMTP-Interaktion zwischen zwei Servern: | |||
<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. | |||
. | |||
250 OK: queued as 12345 | |||
QUIT | |||
221 Bye | |||
</pre> | |||
==== 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 ==== | ==== Fazit ==== | ||
SMTP | 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:
- Der sendende Server öffnet eine TCP-Verbindung zum empfangenden Server auf Port 25 oder 587.
- 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.
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. }}