Anwendungsprotokolle
  SMTP
 

SMTP – Simple Mail Transfer Protocol

 
Das SMTP ist für die Übertragung von E-Mails in Computernetzen zuständig. Vorrangig wird es zum Einspeisen und Weiterleiten von E-Mails verwendet. Traditionell nehmen SMTP-Server dabei Verbindung zum Port 25 („smtp“) auf, neuere Server auch auf den Port 587 („submission“).
 






Mail Transfer Agents (MTA’s) sind für den Austausch der E-Mails zuständig. MTA’s verständigen sich untereinander mit ASCII-Kommandos. Der SMTP-Client sendet dem SMTP-Server ein Kommando. Dieser antwortet mit einem Status-Code und einer Klartext-Meldung.
 
Zwei große Nachteile hat SMTP: Es wird für eine versendete E-Mail keine Versandbestätigung zurück geliefert. Wenn eine E-Mail, zwischen Sender und Empfänger, verloren geht, werden die Kommunikationspartner nicht benachrichtigt. Wird eine E-Mail nicht versendet, bekommt der Versender eine Benachrichtigung, wie die aussieht ist nicht fest gelegt.
Es ist zwar eine SMTP-Erweiterung, für standardisierte Fehlermeldungen, vorhanden, aber die wird nicht von allen SMTP-Servern unterstützt.
Die nicht vorhandene Authentifizierung des Benutzers beim Verbindungsaufbau zwischen SMTP-Client und SMTP-Server, zeigt das zweite gravierende Problem auf. So kann eine beliebige Internetadresse beim Versand einer E-Mail angegeben werden. Es können über offene SMTP-Server massenhaft Werbe-E-Mails, Spams, verschickt werden. Der Urheber, kann auf Grund gefälschter Absender-Adressen nur mit viel Mühe ermittelt werden.
 
 
Verfahren
 
Das SMTP-Verfahren wird meist für den Anwender unsichtbar durch sein Mailprogramm vorgenommen, dem Mail User Agent (MUA). Das Programm verbindet sich zu einem SMTP-Server, dem Mail Submission Agent (MSA). Der kann gegebenenfalls die Mail über weitere SMTP-Server, so genannte Mail Transfer Agents (MTA), zum Ziel transportieren. SMTP wurde zum Transport von lokal erstellten Mails zwischen Servern konzipiert. Dabei übernahm ursprünglich ein einzelner Server auf Port 25 („smtp“) die Rolle von MSA und MTA. Port 587 („submission“) wurde erst 1998 eingeführt, um unterschiedlichen Anforderungen beider Aufgaben gerecht zu werden:
Der MSA akzeptiert nur Nachrichten berechtigter Nutzer und bereitet sie vor der Einspeisung in das Mailsystem auf. Die Funktionalität von MSA und MTA wird, wegen der nahen Verwandtschaft, von einem Programm auf zwei Ports bereitgestellt.
 
 
Das Protokoll
 
SMTP ist ein textbasiertes Protokoll. Unter gängigen Betriebssystemen kann eine E-Mail mit dem Kommandozeilen-Programm Telnet von Hand verschickt werden.
Absender- und Empfängeradressen sind frei wählbar und eine Authentifizierung findet nicht statt. So ist die Verlässlichkeit der Absenderangabe einer E-Mail nicht gegeben.
 
Aufbau einer E-Mail
 
Aus drei Teilen besteht eine E-Mail:
  • Envelope: Er beinhaltet die Sender-Adresse und die Empfänger-Adresse, die der MTA benötigt.
  • Header: Er enthält Informationen über den E-Mail-Client und die Message-ID. Bestehend aus einer Zahlen-/Buchstaben-Kombination, gefolgt von der Host-Adresse (Domain) des Senders.
  • Body: Er enthält den Nachrichten-Text der E-Mail.
 
 
Status-Code
 
Das SMTP hält folgende Error-Codes, zum Status der Kommunikation zwischen Mailserver und Mailclient, bereit:
 
·         1XX: Mailserver hat die Anforderung akzeptiert, ist aber selbst noch nicht tätig geworden. Eine Bestätigungsmeldung ist erforderlich.
·         2XX: Mailserver hat die Anforderung erfolgreich ohne Fehler ausgeführt.
·         3XX: Mailserver hat die Anforderung verstanden, benötigt aber zur Verarbeitung weitere Informationen.
·         4XX: Mailserver hat einen temporären Fehler festgestellt. Wenn die Anforderung ohne jegliche Änderung wiederholt wird, kann die Verarbeitung möglicherweise abgeschlossen werden.
·         5XX: Mailserver hat einen fatalen Fehler festgestellt. Ihre Anforderung kann nicht verarbeitet werden.


Sicherheitskonzepte
 
Merkmal
Definition
Konzepte
Zugangskontrolle
Nur zugelassene Benutzer dürfen den Mailserver benutzen
SMTP-After-Pop, SMTP-Auth
Echtheitsprüfung
Eine eindeutige Zuordnung Absender↔Nachricht ist möglich
PGP, S/MIME (siehe elektronische Unterschrift), SPF, DomainKeys
Integrität
Die Nachricht kann auf dem Weg durchs Netz nicht unbemerkt verändert werden
PGP, S/MIME
Vertraulichkeit
Die Nachricht wird nicht im Klartext übertragen, sondern verschlüsselt
PGP, S/MIME, SSL/TLS
 
 
Extended SMTP
 
1982, als SMTP definiert wurde, gab es eine überschaubare Anzahl von Hosts im Internet. Die Verbindungen waren langsam und instabil und es lag ein großer Wert auf der Zuverlässigkeit.
Jeder Mailserver war ein Open Relay, über den Mails an jeden anderen Knoten weitergeleitet werden konnten, denn eine Authentifizierung war nicht vorgesehen. Als die Popularität des Internets stark zunahm, entstand so das Problem des Spam.
 
1995 wurde SMTP mit Extended erweitert. Ein E-Mail-Client nutzt ESMTP, indem er sich beim SMTP-Server mit dem Kommando EHLO anmeldet. Der Server kennt ESMTP nicht, wenn er mit einer Fehlermeldung antwortet. So muss er sich mit HELO anmelden. Der SMTP-Server meldet mehrere Antwortzeilen mit dem Status-Code 250, wenn er ESMTP beherrscht. Die Meldung und der Status-Code sind durch einen Bindestrich voneinander getrennt. In jeder Zeile steht eine spezifizierte Erweiterung, die der SMTP-Server unterstützt.

SMTP Befehle

SMTP-Kommando
Beschreibung
HELO/EHLO
(Hello/Extended Hello)
HELO bzw. EHLO startet die SMTP-Sitzung und identifiziert den Client am Server.
MAIL
MAIL leitet die Mailübertragung ein und liefert gleich die Absender-Adresse mit.
RCPT (Recipient)
RCPT gibt die Adresse eines oder mehrere Empfänger an. Dieses Kommando kann deshalb mehrmals ausgeführt werden.
DATA
Mit DATA wird die Übermittlung der eigentlichen E-Mail-Nachricht wird mit "CRLF.CRLF" gekennzeichnet.
RSET (Reset)
Mit RSET wird die bereits eingeleitete Mailübertragung abgebrochen. Die Verbindung zwischen Client und Server bleibt bestehen.
VRTY (Verify)
Mit VRFY kann die Empfänger-Adresse überprüft werden.
EXPN (Expand)
Die meisten MTAs behandlen EXPN wie VRFY.
NOOP
NOOP bewirkt eine Antwort vom Server. Damit wird die Verbindungstrennung durch einen Timeout verhindert.
QUIT
QUIT beendet die Verbindung zum SMTP-Server. Der Server liefert eine letzte Antwort zurück.
 
 
 
  Heute waren schon 6 Besucher (6 Hits) hier!  
 
Diese Webseite wurde kostenlos mit Homepage-Baukasten.de erstellt. Willst du auch eine eigene Webseite?
Gratis anmelden