Simple Mail Transfer Protocol

Protokoll der Internetprotokollfamilie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 9. November 2004 um 21:50 Uhr durch Nerezza (Diskussion | Beiträge) (Literatur). Sie kann sich erheblich von der aktuellen Version unterscheiden.
SMTP im TCP/IP-Protokollstapel
Anwendung SMTP
Transport TCP
Netzwerk IP
Netzzugang Ethernet Token
Ring
FDDI ...

Die Abkürzung SMTP steht für Simple Mail Transfer Protocol und ist ein Protokoll der TCP/IP-Protokollfamilie, das den Versand von E-Mails in Computer-Netzwerken regelt. Der SMTP-Server belegt in der Regel den von der IANA dafür registrierten Port 25.

Ein Benutzer wird zumeist vom Ablauf des SMTP-Protokolls nichts mitbekommen, da dies sein Mailprogramm im Hintergrund für ihn erledigt. Dieses Programm verbindet sich zu einem SMTP-Server (MTA), der die Mail zum Empfänger weiterleitet.

SMTP setzt voraus, dass eine Übertragung vom Sender initiiert wird, aus diesem Grund wird es nicht dazu benutzt eine Mail von einem Server auf den Arbeitsplatzrechner zu übertragen. Dazu werden Post Office Protokolle wie das POP3-Protokoll, das IMAP-Protokoll oder andere verwendet.

Eine typische SMTP Session zum Versenden einer einzelnen E-Mail sieht folgendermaßen aus:

> 220 mail.example.com SMTP Foo Mailserver 
< HELO mail.example.org
> 250 Ok
< MAIL FROM: <hans.muster@example.org>
> 250 Ok
< RCPT TO: <foo@example.com>
> 250 Ok
< DATA
> 354 End data with <CR><LF>.<CR><LF>
< From: <hans.muster@example.org>
< To: <foo@example.com>
< Subject: Testmail
<
< Testmail
< .
> 250 Ok
< QUIT
> 221 Bye 

Da SMTP ein sehr einfaches Protokoll ist, kann jeder Computerbenutzer auf einem Kommandozeilen-Interpreter (z.B. cmd.exe auf Windows, einer Bash-Shell für Linux oder einem Terminal für Mac) mit dem Befehl:

 telnet mail.example.com 25

selbst ein E-Mail von Hand verschicken. Absender- und Empfängeradresse sind frei wählbar – es können sich sogar die Adressen im MAIL FROM- und RCPT TO-Kommando (sog. Envelope-From bzw. Envelope-To) von den Adressen im From:- und To:-Mailheader unterscheiden. Die für Beispiele reservierte Domain example.com (siehe RFC 2606) muss allerdings zu der des eigenen Mailservers abgeändert werden.

Wie aus o.g. Beispiel klar wird, sind in SMTP keinerlei Sicherheitsmechanismen implementiert. Sie können zwar durch optionale Mechanismen nachgerüstet werden, kommen in der Praxis aber vergleichsweise selten zum Einsatz.

Merkmal Definition Konzepte
Zugangskontrolle Nur zugelassene Benutzer dürfen den Mailserver benutzen SMTP-After-POP, SMTP-Auth
Echtheitsprüfung Eine eindeutige Zuordung Absender <-> Nachricht ist möglich PGP, S/MIME (siehe Elektronische Unterschrift), SPF
Integrität Die Nachricht kann auf dem Weg durchs Netz nicht unbemerkt verändert werden PGP, S/MIME
Verschlüsselung Die Nachricht wird nicht im Klartext übertragen PGP, S/MIME, SSL

Wie fast jeder Internet-User täglich erfahren muss, landet häufig UBE in den Mail-Accounts. Dies ist nicht zuletzt eine Folge dieser Sicherheitslecks.

ESMTP

Extended SMTP (ESMTP) erlaubt die Erweiterung des Protokolls. Wenn der Sender sich beim Server nicht wie oben gezeigt mit HELO, sondern mit EHLO (Extended HELO) meldet, teilt der Server ihm im Gegenzug mit, welche Extensionen des Protokolls er unterstützt. Gängige Beispiele hierfür sind STARTTLS, 8BITMIME und DSN.

Literatur

  • RFC 2821 (SMTP)
  • RFC 1869 (SMTP Service Extensions, ESMTP)
  • RFC 1652 (SMTP Service Extension for 8bit-MIMEtransport)
  • RFC 1891 (SMTP Service Extension for Delivery Status Notifications)
  • RFC 2487 (SMTP Service Extension for Secure SMTP over TLS)
  • RFC 2554 (SMTP Service Extension for Authentication)
  • RFC 2606 (Reserved Top Level DNS Names)
  • RFC 2500