![]() |
Das SMTP Protokoll (RFC 821 und RFC 822) bezeichnet ein Protokoll der vierten Schicht (Netzzugangsschicht, Internetschicht, Transportschicht, Anwendungsschicht,) des TCP/IP Modells. Es dient dazu E-Mails an einen SMTP Server zu versenden, von wo aus die E-Mails durch das Internet bis zum Postkorb des Empfänger wandern. Hierzu werden in der Regel weitere SMTP Server als Zwischenstationen benutzt.
SMTP-after-POP
Da das beim E-Mail Versand benutzte SMTP Protokoll keine Authentifizierungsmechanismen beinhaltet, kann im Prinzip jeder unbefugte Benutzer über einen SMTP Server E-Mails versenden. Daher greifen Betreiber von E-Mail Diensten oft auf das SMTP-after-POP Verfahren zurück, um den Server vor diesem unautorisierten Zugriff zu schützen. Dabei erfolgt zunächst eine Abfrage des Passwortes für Postfächer über das POP3 Protokoll, welches dann gleichzeitig die Grundlage für den Zugriff auf den SMTP Server darstellt: Nach der Identifizierung und Authentifizierung darf der Benutzer dann auch eine gewisse Zeit auf den SMTP Server zugreifen um seine E-Mails zu versenden.
SMTP-Auth (Simple Mail Transfer Protocol Service Extension for Authentication)
SMTP-Auth ist eine Erweiterung des SMTP Protokolls um den fehlenden Authentifizierungmechanismus, der nun einen sichereren Zugriff auf einen SMTP Server ermöglicht. Bei diesem Verfahrnen werden ID und Passwort kodiert und über die Protokolle an den Server übermittelt, und erst nach einem erfolgreichen Abschluss dieser Prozedur können E-Mails versendet werden.
Die wichtigsten SMTP
Befehle
Laut SMTP Spezifikation muss eine SMTP Implementierung mindestens die folgenden acht Kommandos unterstützen.
| Kommando: | Funktion: |
| HELO oder
EHLO (Hello, Extended Hello) |
startet die SMTP Sitzung und identifiziert den Client am Server |
| MAIL FROM: | leitet die Mailübertragung ein und liefert gleich die Absender-Adresse mit |
| RCPT TO: | gibt die Adresse eines oder mehrerer Empfänger an; das Kommando kann deshalb mehrmals ausgeführt werden |
| DATA | kennzeichnet den Beginn der eigentlichen E-Mail-Nachricht; das Ende wird mit <CR><LF>.<CR><LF> gekennzeichnet |
| . | Ein einzelner Punkt in einer Zeile beendet die Eingabe und versendet die Nachricht |
| RSET | bricht eine bereits eingeleitete Mailübertragung ab; die Verbindung zwischen Client und Server bleibt bestehen |
| VRFY (Verify) | überprüft, ob eine Empfänger-Adresse verfügbar ist |
| HELP | Hilfe - Informationen zum Ausführen eines Kommandos |
| NOOP | bewirkt eine Antwort vom Server; verhindert die Trennung der Verbindung durch einen Timeout |
| QUIT | beendet die Verbindung zum SMTP Server; der Server liefert eine letzte Antwort zurück |
Einige Status-Codes
Auf jedes Kommando vom SMTP Client an den SMTP Server schickt der Server einen 3-stelligen Status-Code mit Klartext-Meldung zurück.
| Status-Code: | Beschreibung: |
| 220 | Verbindung hergestellt, Server bereit |
| 221 | Bestätigung des Befehls QUIT:
die Verbindung wurde
geschlossen |
| 250 | Kommando ausgeführt und Aktion abgeschlossen |
| 251 | Benutzer nicht lokal, Aktion wird weitergeleitet |
| 354 | Fordert nach Eingabe des
Befehls Data zum Eingeben der Nachricht (E-Mail) auf; Ende mit <CR><LF>.<CR><LF> |
| 500 | Syntax-Fehler: Befehl unbekannt |
| 501 | Syntax-Fehler: Parameter oder Argument falsch |
| 502 | Befehl nicht implementiert |
| 503 | Reihenfolge der Befehle falsch |
| 504 | Befehlsparameter unbekannt oder nicht implementiert |
| 552 | Aktion abgebrochen: Fehler bei der Speicherzuweisung. |
| 553 | Aktion nicht ausgeführt: Mailbox-Name nicht erlaubt |
| 554 | Übertragung misslungen |
Beispiel: E-Mail mittels Telnet versenden
1. Öffnen der Verbindung
Der SMTP-Server von GMX hat den Namen mail.gmx.net (alias smtp.gmx.net) und die IP-Adresse 213.165.64.20 oder 213.165.54.21. Da der SMTP-Server wie üblich an Port 25 angebunden ist, kann der folgende Open-Befehl von Telnet die Verbindung zu diesem Mail-Server herstellen.
Beachten Sie, dass der GMX-Server SMTP-after-POP verwendet. Die hier beschiebene Verbindung kann also nur dann aufgebaut werden, wenn kurz vorher eine POP3-Kommunikation mit entsprechender Autorisierung des Benutzers stattfand.

2. Anmelden am SMTP-Server
Die erweiterte Anmeldung (EHLO) liefert einige Zusatzinformationen über die Konfiguration dieses Servers.

3. Versenden einer Nachricht (E-Mail)
Eine typische SMTP Sitzung zum Versenden einer E-Mail von Mickey Mouse an Donald Duck sieht dann folgendermaßen aus:

GMX verwendet auch SMTP-Auth
Das oben beschriebenen Verfahren zum Versenden von E-Mails klappte
bei einem weiteren, später eingerichteten E-Mail-Account bei GMX nicht
mehr. Die Verbindung war nicht nach dem Verfahren
SMTP-after-POP möglich, sondern erforderte eine Authentifizierung nach
dem SMTP-Auth Verfahren. Der schon vorhandene Acccount war davon nicht
betroffen. Offenbar stellt GMX derzeit (Mai 2006) bei Neukunden das
Einwahlverfahren auf den sichereren Standard SMTP-Auth ein.
Im Web-Interface von GMX kann die Einwahlmethode konfiguriert
und somit auch für neue Accounts die Einwahl SMTP-after-POP
ausgewählt werden:
Mein GMX -> E-Mail -> Optionen -> Sicherheit -> Auswahl: [*] Smtp after Pop
Der Grund für diese Umstellung: Bei der SMTP-Auth Authentifizierung müssen der Account und das Passwort nach dem BASE64 Verfahren codiert eingegeben werden. Aber das ist ein anderes Thema ...