Funktion | E-Mails senden |
---|---|
Akronym | SMTP |
Hafen |
25 (keine Verschlüsselung) 465 (implizite Verschlüsselung) 587 ( explizite Verschlüsselung ) |
RFC |
1982 : RFC 821 2008 : RFC 5321 |
Simple Mail Transfer Protocol ( SMTP , wörtlich „ Simple Mail Transfer Protocol “) ist ein Kommunikationsprotokoll, das verwendet wird, um elektronische Post ( E-Mail ) an E-Mail-Server zu übertragen .
SMTP ist ein ziemlich einfaches Protokoll (wie der Name schon sagt). Wir beginnen mit der Angabe des Absenders der Nachricht, dann des/der Empfänger(s) einer Nachricht und dann, in der Regel nach Überprüfung ihrer Existenz, wird der Nachrichtentext übertragen. Es ist möglich, einen SMTP-Server mit dem Befehl telnet auf Port 25 eines Remote-Servers zu testen .
SMTP wurde Anfang der 1980er Jahre weit verbreitet . Es ist dann eine Ergänzung zum UUCP , wobei letzteres besser für die Übertragung von E-Mails zwischen Geräten geeignet ist, deren Verbindung intermittierend ist. SMTP hingegen funktioniert am besten, wenn die Maschinen, die Nachrichten senden und empfangen, ständig miteinander verbunden sind.
Die Sendmail- Software ist einer der ersten, wenn nicht sogar der erste E-Mail-Server , der SMTP verwendet. Seitdem können die meisten E-Mail-Clients SMTP zum Senden von Nachrichten verwenden. Einige neue Server sind erschienen, wie Postfix , Qmail von Daniel J. Bernstein , Exim und Exchange von Microsoft .
Da das Protokoll ASCII (7- Bit ) -Text verwendete , funktionierte es nicht zum Senden von Bytes an Binärdateien . Um dieses Problem zu überwinden, wurden Standards wie MIME entwickelt, um die Codierung von Binärdateien über SMTP zu ermöglichen. Heutzutage akzeptieren die meisten SMTP-Server 8-Bit-MIME, wodurch die Übertragung von Binärdateien fast so einfach ist wie Klartext.
SMTP verwendet TCP für die Datenübertragung.
SMTP erlaubt keinen Fernabruf von E - Mails, die in einem Postfach auf einem Server angekommen sind . Das Post Office Protocol (POP) und IMAP - Standards wurden für diesen Zweck geschaffen.
Die Übertragung von Nachrichten zwischen Mailservern erfolgt in der Regel auf Port 25, dem bei der IANA registrierten Standardport . Die Server verwenden die MX-Einträge der DNS-Server zum Weiterleiten von E-Mails.
Der Mail-Client verwendet auch Port 25 (SMTP), um Nachrichten über SMTP zu senden. Aber die Notwendigkeit, Client-Submissions besser kontrollieren zu können, insbesondere durch Authentifizierung, führte zur Vergabe des Ports 587 (Submission).
Serveradministratoren können wählen, ob Clients TCP-Port 25 (SMTP) oder Port 587 ( Submission ) verwenden, wie in RFC 6409 (früher RFC 2476) formalisiert , um ausgehende E-Mails an einen Mail-Server weiterzuleiten. Spezifikationen und viele Server akzeptieren beides. Obwohl einige Server den historischen Port 465 (smtps, auch Submissions genannt) seit langem für sicheres SMTP unterstützen, ist es unter Verletzung der Spezifikationen bis Ende 2017 besser, Standardports und den ESMTP-Standard (Extended SMTP) gemäß RFC 3207 zu verwenden, wenn Zwischen Client und Server soll eine sichere Sitzung verwendet werden. Anfang 2018 hat RFC 8314 jedoch dem SMTP-Protokoll mit implizitem TLS endlich den Port 465 offiziell zugewiesen .
Der oben erwähnte Telnet- Test würde in einem Terminal-Shell-Fenster einen Dialog ähnlich dem folgenden anzeigen:
(Benutzereingabe ist grün und Servernachrichten sind rot )
telnet smtp.----.---- 25 Connected to smtp.----.----. 220 smtp.----.---- SMTP Ready HELO client 250-smtp.----.---- 250-PIPELINING 250 8BITMIME MAIL FROM: <[email protected]> 250 Sender ok RCPT TO: <[email protected]> 250 Recipient ok. DATA 354 Enter mail, end with "." on a line by itself Subject: Test Corps du texte . 250 Ok QUIT 221 Closing connection Connection closed by foreign host.Beachten Sie, dass das Ende des Textes durch einen einzelnen Punkt auf seiner Linie gekennzeichnet ist. Wenn der Text einen einzelnen Punkt auf seiner Linie enthalten muss, muss dieser daher verdoppelt werden (<CR> <LF> .. <CR> <LF>).
Wie im obigen Beispiel zu sehen ist, gibt es eine genaue Syntax zum Senden der Nachrichten und eine Reihe von dreistelligen Rückkehrcodes, um den Status der Anfrage anzuzeigen. Die erste Ziffer des Returncodes gibt den Gesamtstatus der Anfrage an, die anderen beiden Ziffern geben den Status an:
Die häufigsten Nachrichten:
Codiert | Bedeutung |
---|---|
220 | Erster Code, der vom Server gesendet wird, wenn die Verbindung erfolgreich ist. |
250 | Auftragsbestätigung akzeptiert. |
354 | Antwort auf den DATA-Befehl. Der Server wartet auf Daten aus dem Nachrichtentext. Der Client zeigt das Ende der Nachricht durch einen einzelnen Punkt auf einer Linie an: < CR > < LF > <CR> <LF> |
421 | Vorübergehender Verbindungsfehler. Der Server ist möglicherweise überlastet, begrenzt die Anzahl der Verbindungen von derselben IP-Adresse oder der Dienst ist möglicherweise nicht verfügbar. |
452 | Vorübergehender Fehler: Maximale Anzahl von Empfängern erreicht. |
550 | Dauerhafter Ausfall. Das Postfach existiert nicht oder die Adresse des Empfängers ist ungültig. |
554 | Dauerhafter Verbindungsfehler: Wird anstelle von Code 220 für Hosts auf der schwarzen Liste verwendet. |
Eine der Einschränkungen von SMTP ist die Unfähigkeit, den Absender zu authentifizieren . Dafür wurde die SMTP-AUTH-Erweiterung definiert. Leider hat die Unfähigkeit, SMTP-AUTH weitestgehend durchzusetzen, dieses Protokoll gegenüber dem Phänomen von Spam machtlos gemacht .
Spam wird durch eine Reihe von Faktoren verursacht, darunter: die Implementierung von nicht standardmäßiger Mail Transfer Agent (MTA) -Software , Sicherheitslücken in Betriebssystemen, die es Spammern ermöglichen, Benutzer-PCs aus der Ferne zu steuern, damit sie Spam senden, und schließlich mangelnde Intelligenz einiger MTAs .
Um dieses Phänomen effektiv zu bekämpfen, gibt es zwei Ansätze: SMTP grundlegend modifizieren (oder sogar ersetzen) oder andere Protokolle hinzufügen, um seine Lücken zu schließen. Eine wesentliche Änderung oder vollständige Ersetzung von SMTP scheint aufgrund der Bedeutung des bereits installierten Servernetzwerks nicht machbar. Dennoch wurden alternative Lösungen wie Internet Mail 2000 (en) oder ePost entwickelt .
Ein anderer Ansatz besteht darin, Systeme zu erstellen, die die Operationen des SMTP-Protokolls unterstützen. Die Spam Research Group (ASRG) des IRTF (in) beschäftigt sich derzeit der Authentifizierung von E-Mails , um diese flexibel, leichtgewichtig, erweiterbar und skalierbar bereitzustellen. All diese Untersuchungen haben im Jahr 2004 zum Protokoll MARID (in) und 2006 zum Protokoll DomainKeys Identified Mail geführt .
Im Jahr 2006 empfahl die AFA , dass Internet Service Provider (ISPs) ausgehende TCP/IP-Pakete blockieren, die für Port 25 bestimmt sind. Die entwickelte Idee ist, dass "ein privater Benutzer seine elektronischen Nachrichten nur über den Server seiner E-Mail senden kann". Anbieter . "
Damals wurden zwischen 50 und 80 % des Spams von infizierten Computern erzeugt .
In Frankreich und Kanada sind die wichtigsten ISPs dieser Empfehlung gefolgt: Orange, Bell, Videotron und CCAPcable blockieren seither Port 25 Juni 2007, Kostenlos seit Dezember 2006 (dies ist eine Option, die Blockierung kann deaktiviert werden), AOL seit 2003.
Die heutige Praxis besteht darin, dass der Benutzer die Nachricht mit authentifiziertem SMTP (Port 587) an den Mailserver sendet. Port 25 ist nur für SMTP-Server untereinander bestimmt.