SMTP – Simple Mail Transfer Protocol: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
=== SMTP – Simple Mail Transfer Protocol ===   
{{Box|title=SMTP – Simple Mail Transfer Protocol
|content=
==== Einführung in SMTP ====
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 nutzt standardmäßig:  


==== Aufbau einer E-Mail ====  
* Port 25 für die Server-zu-Server-Kommunikation 
* Port 587 für authentifizierte Clients 
* Port 465 für verschlüsselte SMTP-Verbindungen (veraltet, aber noch in Gebrauch)  


==== 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 Daten sind nicht direkt im Mail-Header sichtbar, sondern werden nur während der Übertragung verwendet.   
: 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)**  
; '''Header (Kopfzeilen)'''  
: Enthält Metadaten zur Nachricht. Wichtige Felder sind:   
: Enthält Metadaten zur E-Mail. Wichtige Felder sind:   


* '''From:''' Absenderadresse   
: '''From:''' Absenderadresse   
* '''To:''' Empfängeradresse   
: '''To:''' Empfängeradresse   
* '''Cc:''' Kopieempfänger (Carbon Copy)   
: '''Cc:''' Kopieempfänger (Carbon Copy)   
* '''Bcc:''' Verdeckte Kopieempfänger (Blind Carbon Copy), nicht für andere sichtbar  
: '''Bcc:''' Verdeckte Kopieempfänger (Blind Carbon Copy)   
* '''Subject:''' Betreff der Nachricht   
: '''Subject:''' Betreff der Nachricht   
* '''Date:''' Zeitpunkt des Versands   
: '''Date:''' Zeitpunkt des Versands   
* '''Message-ID:''' Eindeutige Kennung der Nachricht   
: '''Message-ID:''' Eindeutige Kennung der Nachricht   
* '''Reply-To:''' Adresse für Antworten   
: '''Reply-To:''' Adresse für Antworten   
* '''Received:''' Enthält die Routing-Informationen der Nachricht   
: '''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)**  
; '''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.
: 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)**  
; '''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.   
: Nimmt E-Mails entgegen, speichert sie und leitet sie weiter.   


; **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.   
: Zuständig für die Ablage der E-Mail 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.   
: Das E-Mail-Programm oder Webmail-Interface des Benutzers zum Senden und Empfangen von E-Mails.   


; **MSA (Mail Submission Agent)**  
; '''MSA (Mail Submission Agent)'''  
: Ein MSA nimmt E-Mails von einem MUA entgegen und leitet sie an einen MTA weiter.   
: 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:  


1. **Verbindung aufbauen** 
# Der sendende Server öffnet eine TCP-Verbindung zum empfangenden Server auf Port 25 oder 587.   
  * Der sendende MTA öffnet eine TCP-Verbindung zum empfangenden MTA auf Port 25 oder 587.   
# Der Server begrüßt sich mit `HELO` oder `EHLO`. 
  * Begrüßung über `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.   


2. **Absender und Empfänger spezifizieren** 
==== Beispiel einer SMTP-Sitzung ====
  * `MAIL FROM:<alice@example.com>` 
Hier ein Beispiel für eine SMTP-Interaktion zwischen zwei Servern:   
  * `RCPT TO:<bob@example.com>`  


3. **Nachricht senden** 
<pre>
  * `DATA` 
220 mail.example.com ESMTP
  * Header und Nachricht werden übertragen 
EHLO sender.example.com
  * Abschluss mit `.` 
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


4. **Bestätigung und Beenden** 
Dies ist eine SMTP-Testnachricht.
  * Server antwortet mit `250 OK` 
  * Verbindung wird mit `QUIT` beendet 


==== Beispiel einer SMTP-Sitzung ====  
.
250 OK: queued as 12345
QUIT
221 Bye
</pre>  


<pre> 
==== Erweiterungen von SMTP ====
220 mail.example.com ESMTP 
SMTP kann durch verschiedene Erweiterungen ergänzt werden:   
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.   
; '''STARTTLS''' 
: Ermöglicht die Verschlüsselung der Verbindung mit TLS.   


.  
; '''SMTP AUTH'''  
250 OK: queued as 12345 
: Authentifiziert den Absender mit Benutzername und Passwort.  
QUIT 
221 Bye 
</pre>  


==== Erweiterungen von SMTP ====  
; '''DSN (Delivery Status Notification)''' 
: Ermöglicht die Rückmeldung über den Zustellstatus der E-Mail.  


* **STARTTLS** – Verschlüsselte Verbindung mit TLS 
; '''PIPELINING'''  
* **SMTP AUTH** – Authentifizierung des Absenders 
: Erlaubt das Senden mehrerer Befehle in einer Übertragung, um die Effizienz zu steigern.  
* **DSN (Delivery Status Notification)** – Rückmeldung über Zustellstatus  
* **PIPELINING** – Mehrere Befehle in einer Übertragung   


==== Fazit ====
==== 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.
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.
}}

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