Simple Mail Transfer Protocol

Protokoll der Internetprotokollfamilie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 23. Juni 2004 um 23:52 Uhr durch Weede (Diskussion | Beiträge) (Link). 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. SMTP läuft im Normalfall über den bei der IANA registrierten TCP-Port 25.

Wenn nun ein Benutzer in einem E-Mail-Programm eine Mail abschicken möchte, so muss er sich zu einem SMTP-Server (MTA) verbinden, der die Mail zum Empfänger weiterleitet. Der Versand der Mail vom Arbeitsplatz des Benutzers bis zum SMTP-Server wird durch das SMTP-Protokoll geregelt.
SMTP ist nicht dazu in der Lage, eine Mail von einem Server auf den Arbeitsplatzrechner zu übertragen. Dazu wird das POP3-Protokoll oder alternativ das IMAP-Protokoll verwendet.

Eine typische SMTP Session zum Versenden einer einzelnen E-Mail sieht folgendermassen 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 

Weil 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 Mail von Hand verschicken (wobei der Mailserver natürlich geändert werden muss). Wer so etwas tut, stellt gleich auch fest, wie unsicher SMTP tatsächlich ist.

Ein großer Nachteil von SMTP ist nämlich das Fehlen von Sicherheits-Mechanismen, insbesondere für:

  • Authentisierung (Authentity und Non-repudiation): Man sollte den Absender eindeutig ermitteln können
  • Integrität (siehe Elektronische Unterschrift): Die Mail sollte auf dem Weg durchs Netz nicht unbemerkt verändert werden können.
  • Verschlüsselung: Die Mail sollte nicht im Klartext übers Netz gesendet werden.

Die genannten Merkmale sind zwar durch optionale Mechanismen (z.B. SMTP-After-POP, SMTP-Auth, PGP, S/MIME, SSL) nachrüstbar, aber in der Praxis kommen sie nur selten zum Einsatz. Z.B. sind Verschlüsselungs-Tools immer noch zu schlecht in die meisten Mailprogramme integriert, als dass sie der tägliche User nutzen würde.

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)