SMTP-Protokoll

Einführung, Befehle, Response



SMTP-Protokoll
E-Mails werden mit dem SMTP-Protokoll (Simple Mail
Transfer Protocol, RFC 821, 822) versendet. Es verwendet TCP zur
Datenübertragung genau wie POPS (Post Office Protocol
Version 3), ein Protokoll zum Abholen von Mails. Versendet werden
grundsätzlich 7-Bit-ASCII-Zeichen, die rechtsbündig ausgerichtet sind.
übertragen werden Bytes, bei denen das höchstwertige Bit auf Null gesetzt ist.
Um eine E-Mail zu versenden, wird ein so genannter User Agent eingesetzt. Das
ist ein Mail-Client wie Outlook. Er verwaltet die Mails in einer Warteschlange
und sendet sie je nach Konfiguration des Mail-Clients sofort oder nach Ablauf
einer Zeitspanne an den MTA (MessageTransfer Agent),
der für die weitere Zustellung zuständig ist. Dieser sendet die Mail ins
Internet zu einem SMTP-Server. Von dort gelangt sie möglicherweise über weitere
SMTP-Server an den Ziel-SMTP-Server. Dort holt sie der MTA des Ziel-Hosts ab.


Die folgende Tabelle enthält eine übersicht über alle
SMTP-Befehle, wie sie in RFC 821 definiert sind:






























































Befehl
Erklärung
HELO <domain>Client meldet sich beim Server an
MAIL FROM:<reverse-path>überträgt Absender-Adresse
RCPT TO:<forward-path>überträgt Empfänger-Adresse
DATABeginn der Textübertragung
RSETTransaktion wird abgebrochen
SEND FROM:<reverse-path>E-Mail an ein Terminal (veraltet)
SOML FROM:<reverse-path>(Send or Mail) E-Mail an Terminal oder Postfach
SAML FROM:<reverse-path> (Send and Mail) E-Mail an Terminal und Postfach
VRFY <string>fragt den Server, ob der Empfänger bekannt ist
EXPN <string> fragt den Server, ob der übergebene Parameter eine
Mailing-Liste ist
HELP [<strlng>]fordert den Server auf, einen Hilfetext zu senden
NOOPmacht nichts
QUITClient beendet die Transaktion
TURNAbsender und Empfänger werden vertauscht





Zu jedem Befehl gibt es eine Reihe von Antwort-Codes. Die folgende Tabelle
zeigt alle Antwort-Codes aus RFC 821, die SMTP-Server senden können. Dort ist
auch die Theorie der Antwort-Codes beschrieben, die jeder Ziffer diesen
dreistelligen Codes eine Bedeutung zuweist. Ist die erste Ziffer zum Beispiel
eine 2, gehört dieser Code zu den Positive Completion
Replys (Befehl erfolgreich ausgeführt), und der nächste Befehl kann
ausgeführt werden. Eine 5 für die erste Ziffer bedeutet
Permanent Negative Completion Reply (dauerhafte Ablehnung) - der Befehl
wurde abgelehnt und die angeforderte Aufgabe nicht ausgeführt. Der Absender
sollte die gleiche Anfrage nicht ein weiteres Mal stellen.






















































































Response Bedeutung
211 System Status, or System help reply
214 Help message. Anweisungen, wie mit einem bestimmten Befehl
umzugehen ist
220 <domain> Service ready
221 <domain> Service closing transmission channel
250 Requested mail action okay, completed


354
Start mail input; end with <CRLF>.<CRLF>
421 <domain> Service not available,closing transmission channel
450 Requested mail action not taken: mailbox unavailable
451 Requested action aborted: local error in processing
452 Requested action not taken: insufficient System storage
500 Syntax error, command unrecognized
501 Syntax error in parameters or arguments
502 Command not implemented
503 Bad sequence of commands
504 Command parameter not implemented
550 Requested action not taken: mailbox unavailable
551 User not local; please try <forward-path>
552 Requested mail action aborted: exceeded storage allocation
553 Requested action not taken: mailbox name not allowed
554 Transaction failed