Simple Mail Transfer Protocol
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-Sitzung 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 man unter den gängigen Betriebssystemen mit dem Kommandozeilen-Programm telnet selbst eine 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.
Als SMTP 1982 in RFC 821 definiert wurde, gab es eine überschaubare Anzahl von Hosts im Internet. Da die Verbindungen langsam und instabil waren, wurde auf Zuverlässigkeit großen Wert gelegt. Authentifizierung war nicht vorgesehen, zudem war jeder Mailserver ein Open Relay.
Mit der wachsenden Popularität des Internets entstand so das Problem des Spams.
ESMTP
1995 wurde mit Extended SMTP (ESMTP) in RFC 1869 das Protokolls erweitert. Dieses erlaubt, dass über ein modulares Konzept weitere Befehle (SMTP-Verben) definiert werden. 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 Erweiterungen des Protokolls er unterstützt. Gängige Beispiele hierfür sind STARTTLS (Secure SMTP over TLS), 8BITMIME (8bit-MIMEtransport), DSN (Delivery Status Notifications) und AUTH (SMTP-Auth).
SMTPi
Als nächste Generation in der Email-Infrastruktur, beinhaltet SMTPi Komponenten zur Erkennung und Einordnung der Identität und Reputation des Absenders.
Sicherheitskonzepte
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/TLS |
Literatur
- RFC 821 (SMTP, Standard)
- RFC 2821 (SMTP, Proposed Standard)
- RFC 1652 (SMTP Service Extension for 8bit-MIMEtransport)
- RFC 1891 (SMTP Service Extension for Delivery Status Notifications)
- RFC 1845 (SMTP Service Extension for Checkpoint/Restart)
- RFC 1869 (SMTP Service Extensions, ESMTP)
- RFC 1870 (SMTP Service Extension for Message Size Declaration)
- RFC 1893 (Enhanced Mail System Status Codes)
- RFC 2487 (SMTP Service Extension for Secure SMTP over TLS)
- RFC 2505 (Anti-Spam Recommendations for SMTP MTAs)
- RFC 2554 (SMTP Service Extension for Authentication)
- RFC 2920 (SMTP Service Extension for Command Pipelining)
- RFC 3030 (SMTP Service Extensions for Transmission of Large and Binary MIME Messages)
- RFC 3207 (SMTP Service Extension for Returning Enhanced Error Codes)
- RFC 3700 (Internet Official Protocol Standards)
- RFC 2606 (Reserved Top Level DNS Names)