Simple Mail Transfer Protocol

Simple Mail Transfer Protocol
SMTP (Simple Mail Transfer Protocol)
Familie: Internetprotokollfamilie
Einsatzgebiet: Einspeisung von E-Mail (Mail Submission), Abholung von E-Mails eventuell über mehrere Stationen (Mail Transfer)
Ports: 25/TCP

465/TCP (Verschlüsselt)
587/TCP (Alternative für Mail-Clients)

SMTP im TCP/IP‑Protokollstapel:
Anwendung SMTP
Transport TCP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI
Standard: RFC 5321

Das Simple Mail Transfer Protocol (SMTP, zu deutsch etwa Einfaches E-Mail-Transportprotokoll) ist ein Protokoll der Internetprotokollfamilie, das zum Austausch von E-Mails in Computernetzen dient. Es wird dabei vorrangig zum Einspeisen und zum Weiterleiten von E-Mails verwendet. Zum Abholen von Nachrichten kommen andere, spezialisierte Protokolle wie POP3 oder IMAP zum Einsatz. SMTP-Server nehmen traditionell Verbindungen auf Port 25 („smtp“) entgegen. Neuere Server benutzen auch Port 587, um für authentifizierte Benutzer Mails entgegenzunehmen, die an andere Mailserver ausgeliefert werden müssen („submission“). Damit soll Spam vermieden werden (→ Open Relay).

Inhaltsverzeichnis

Geschichte

Vorgänger von SMTP waren im ARPANET das Mail Box Protocol (RFC 278) vom Juli 1971 und FTP Mail (RFC 458) vom Februar 1973. Mit der Entstehung des Internets aus dem ARPANET um 1980 schlug Jon Postel vor, die Abhängigkeit des E-Mail-Verkehrs vom FTP-Dienst abzukoppeln (RFC 772), und veröffentlichte 1982 SMTP unter RFC 821. In den frühen 1980er Jahren wurde es eine Ergänzung zu UUCP, das vor allem für den E-Mail-Verkehr periodisch verbundener Rechner genutzt wurde. SMTP wurde der Standard für Rechner, die ständig am Netz waren.

Einer der ersten Mail Transfer Agents, der SMTP implementierte und weitere Verbreitung erlangte, war sendmail. Inzwischen gibt es über 100 Programme, die SMTP als Client oder Server unterstützen, darunter weit verbreitete SMTP-Server wie Postfix, qmail, exim, usw.

SMTP begann als reines ASCII-Protokoll, so dass damit keine Binärdateien übertragen werden konnten. Erst Standards wie MIME (Multipurpose Internet Mail Extensions) schufen diese Möglichkeit durch ein Kodieren der Binärdateien in ASCII.

Verfahren

Die Abwicklung des SMTP-Verfahrens wird meist für den Anwender unsichtbar durch sein Mailprogramm vorgenommen, den sogenannten Mail User Agent (MUA). Dieses Programm verbindet sich mit einem SMTP-Server, dem Mail Submission Agent (MSA), der die Mail über ggf. weitere SMTP-Server, sogenannte Mail Transfer Agents (MTA), zum Ziel transportiert. Da SMTP als Protokoll zum Transport von lokal erstellten Mails zwischen Servern konzipiert wurde, übernahm dabei ursprünglich ein einzelner Server auf Port 25 („smtp“) die Rolle von MSA und MTA. Der dedizierte Port 587 („submission“) für MSAs wurde erst 1998 eingeführt, um den unterschiedlichen Anforderungen beider Aufgaben gerecht zu werden: Ein MSA akzeptiert ausdrücklich nur Nachrichten berechtigter Nutzer und bereitet sie vor der Einspeisung in das Mailsystem gegebenenfalls standardkonform auf. Wegen der nahen Verwandtschaft beider Dienste wird die Funktionalität von MSA und MTA üblicherweise immer noch von nur einem Programm, das dann auf beiden Ports Verbindungen annimmt, bereitgestellt.

Protokoll

Da SMTP ein textbasiertes Protokoll ist, kann mittels Telnet eine E-Mail auch „von Hand“ verschickt werden. Dabei sind, wie auch bei anderen Verfahren, Absender- und Empfängeradresse frei wählbar, und eine Authentifizierung findet nicht statt. Aus diesem Grund ist die Verlässlichkeit der Absenderangabe einer E-Mail nicht gegeben. 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.

Der Server antwortet auf Kontaktaufnahmen mit dreistelligen Statusnummern und kurzen Texten, die variieren oder auch entfallen können. Der Client muss mit festgelegten Zeichenfolgen auf die Statusmeldungen reagieren. Eine einfache SMTP-Sitzung zum Versenden einer E-Mail kann beispielsweise folgendermaßen aussehen:

Client Server Erläuterung
telnet mail.example.com 25 Client ruft Server
220 service ready Server meldet sich bereit
HELO foobar.example.net Client nennt seinen Namen
250 OK Server bestätigt
MAIL FROM:<info@example.org> Client nennt Absenderadresse
250 OK Server bestätigt
RCPT TO:<info@example.com> Client nennt Empfängeradresse
250 OK Server bestätigt
DATA Client kündigt Inhalt der E-Mail an
354 start mail input Server bereit für diesen längeren Vorgang
From: <info@example.org>
To: <info@example.com>
Subject: Testmail
Date: Thu, 26 Oct 2006 13:10:50 +0200

Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua.
.
Client sendet Inhalt der E-Mail und markiert das Ende durch eine Zeile, die nur einen Punkt enthält.
(Zwischen Header und Textkörper muss eine Leerzeile vorhanden sein, sonst wird beim Empfänger kein Textkörper angezeigt.)
250 OK Server bestätigt und übernimmt die Verantwortung für die Nachricht
QUIT Client fordert Verbindungstrennung an
221 closing channel Server kündigt Trennung an

Status-Codes

Das SMTP-Protokoll sieht zum Status der Kommunikation zwischen Mailserver und Mailclient folgende Fehlercodes vor:

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. Die Anforderung kann nicht verarbeitet werden.

Extended SMTP

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, somit war jeder Mailserver ein Open Relay, über den Mails an jeden anderen Knoten weitergeleitet werden konnten. Mit der wachsenden Popularität des Internets entstand so das Problem des Spam.

1995 wurde mit Extended SMTP (ESMTP) in RFC 1869 das Protokoll erweitert. Diese Erweiterung 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).

Zur Verschlüsselung über SSL/TLS wird heute das STARTTLS-Kommando empfohlen. Es läuft auf dem gleichen TCP-Port wie unverschlüsseltes SMTP. Alternativ kann SMTP über SSL (SMTPS) verwendet werden und benötigt einen eigenen TCP-Port, hierfür hat sich 465 eingebürgert.

Sicherheitskonzepte

Merkmal Definition Konzepte
Zugangskontrolle Nur zugelassene Benutzer dürfen den Mailserver benutzen SMTP-After-POP, SMTP-Auth, SMTPS
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

Software

Einige der am häufigsten verwendeten SMTP-Server sind Sendmail, Exim, Postfix, qmail, MS Exchange, Groupwise und IBM Lotus Domino.

Verwandte Themen

Verwandte Requests For Comments (RFCs)

  • RFC 821 (SIMPLE MAIL TRANSFER PROTOCOL)
  • RFC 2821 (SIMPLE MAIL TRANSFER PROTOCOL)
  • RFC 2822 (INTERNET MESSAGE FORMAT)
  • RFC 1845 (SMTP Service Extension for Checkpoint/Restart)
  • RFC 1870 (SMTP Service Extension for Message Size Declaration)
  • RFC 1894 (An Extensible Message Format for Delivery Status Notifications)
  • RFC 1985 (SMTP Service Extension for Remote Message Queue Starting – ETRN)
  • RFC 2034 (SMTP Service Extension for Returning Enhanced Error Codes)
  • RFC 2047 (Message Header Extensions for Non-ASCII Text)
  • 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 2606 (Reserved Top Level DNS Names)
  • RFC 2852 (Deliver By SMTP Service Extension)
  • 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 Secure SMTP over Transport Layer Security)
  • RFC 3461 (SMTP Service Extension for Delivery Status Notifications (DSNs)
  • RFC 3463 (Enhanced Status Codes for SMTP)
  • RFC 3464 (An Extensible Message Format for Delivery Status Notifications)
  • RFC 3700 (Internet Official Protocol Standards)
  • RFC 4409 (Message Submission for Mail, führt Port 587 für Message Submission ein)
  • RFC 5321 (Simple Mail Transfer Protocol)
  • RFC 5336 (SMTP Extension for Internationalized Email Addresses)
  • RFC 6152 (SMTP Service Extension for 8bit-MIMEtransport)

Siehe auch

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Simple mail transfer protocol — Pile de protocoles 7 • Application 6 • Présentation 5 • Session 4 • …   Wikipédia en Français

  • Simple Mail Transfer Protocol — Fonction Envoi de courriels Sigle SMTP Port 25 (sans authentification) 587 (avec authentification) …   Wikipédia en Français

  • Simple Mail Transfer Protocol — (SMTP) Familia: Familia de protocolos de Internet Función: Envío de mensajes de correo electrónico Puertos: 25/TCP 587/TCP (Alternativo para clientes de correo) 465/TCP (SMTPS) Ubicación en la pila de protocolos …   Wikipedia Español

  • Simple Mail Transfer Protocol — (SMTP), o protocolo simple de transferencia de correo electrónico. Protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electrónico entre computadoras y/o distintos dispositivos (PDA s, Celulares, etc) …   Enciclopedia Universal

  • Simple Mail Transfer Protocol — Simple Mail Transfer Protocol,   SMTP …   Universal-Lexikon

  • Simple Mail Transfer Protocol — This article is about the Internet standard for electronic mail transmission. For the email delivery company, see SMTP (company). Internet protocol suite Application layer …   Wikipedia

  • Simple Mail Transfer Protocol — SMTP Название: Simple Mail Transfer Protocol Уровень (по модели OSI): Прикладной Семейство: TCP/IP Порт/ID: 25/TCP Назначение протокола: Отправка электронной почты Основные реализации (клиенты): MUA (The Bat!, MS Outlook, MS Outlook Express,… …   Википедия

  • Simple Mail Transfer Protocol — SMTP protokolas statusas T sritis informatika apibrėžtis ↑Elektroninio pašto ↑protokolas, naudojamas elektroniniams laiškams persiųsti tarp kelių interneto ↑serverių. Siuntėjas laišką pateikia SMTP serveriui. Šis laišką persiunčia toliau. Tinklo… …   Enciklopedinis kompiuterijos žodynas

  • Simple Mail Transfer Protocol - AUTHentication — Internet message access protocol authentication SMTP AUTH est une extension du protocole SMTP. C est un protocole de transfert des courriels sur Internet qui inclut une étape d authentification au cours de laquelle le client se connecte… …   Wikipédia en Français

  • Simple Mail Transfer Protocol —    Abbreviated SMTP. The TCP/IP (Transmission Control Protocol/Internet Protocol) protocol that provides a simple e mail service and is responsible for moving e mail messages from one e mail server to another. SMTP provides a direct end to end… …   Dictionary of networking

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”