Hintergrundwissen:
Das SMTP-Protokoll
Eine Nachricht per Simple Mail Transport Protocol (SMTP) zu versenden ist in der Tat recht simple. Hier die Details, die Sie leicht mit Telnet nachvollziehen können
Nachdem die Verbindung zum SMTP-Server hergestellt ist, meldet sich dieser mit einer von Fall zu Fall unterschiedlichen Connect-Meldung:
220 post.webmailer.de ESMTP Sendmail 8.9.3/8.8.7; Mon, 25 Feb 2002 00:06:29 +0100 (MET)
Das erste Kommando, das nun von der Client-Seite kommen muss, ist die Begrüßung mittels HELO gefolgt vom Computernamen. Letzterer wird jedoch nicht verifiziert, so dass er leicht gegen einen beliebigen anderen Namen ausgetauscht werden kann:
HELO HAL9000
Der SMTP-Server reagiert daraufhin mit einer Gegenbegrüßung, wobei in der Regel auch Name und IP-Adresse des Gegenüber genannt wird. Bei Einwahlverbindungen erscheint hier der Name des Einwahlknotens:
250 post.webmailer.de Hello ACBF3038.ipt.aol.com [172.191.48.56], pleased to meet you
Nach diesem Begrüßungszeremoniell kann es mit dem Mailversand los gehen. Als nächstes ist anhand des Kommandos MAIL FROM: der Absender zu nennen:
MAIL FROM:<[email protected]>
Wurde Kommando und Adresse korrekt eingegeben so reagiert der Sender mit entsprechender OK-Meldung. Bitte beachten Sie: Nur die Syntax wird geprüft, nicht die Verfügbarkeit der Adresse!
250 <[email protected]>... Sender ok
Anschließend können nun ein oder mehrere Empfänger anhand des Befehls RCPT TO: angegeben werden (Für jeden einzelnen Adressaten ist das Kommando zu wiederholen):
RCPT TO:<[email protected]>
Auch hier gilt wieder: Wurde Kommando und Adresse korrekt eingegeben, so reagiert der Sender mit entsprechender OK-Meldung. Jedoch wird nur die Syntax der Adresse geprüft, nicht deren tatsächliche Verfügbarkeit.
250 <[email protected]>... Recipient ok
Sind alle Empfänger angegeben, muss die eigentliche Nachricht mit dem Befehle DATA eingeleitet werden:
DATA
Der SMTP-Server meldet daraufhin sein Einverständnis sowie einen Hinweis auf Abschluss der Nachricht: Das Mail-Ende muss mit einer Zeile abgeschlossen werden, die nur aus einem Dezimalpunkt besteht.
354 Enter mail, end with "." on a line by itself
Moderne E-Mail-Clients senden an dieser Stelle zunächst noch die zusätzlichen Kopfzeilen. Um diese von der nachfolgenden Nachricht unterscheiden zu können, werden sie mit einer Leerzeile abgetrennt. Hier im Beispiel folgen nun jedoch nur drei Zeilen der tatsächlichen Nachricht sowie das Ende-Zeichen:
Hallo,
Dies ist eine Test-mail -
und das wars schon.
.
Der Server meint daraufhin (ID kann variieren):
250 AAA06811 Message accepted for delivery
Soll nun noch eine weitere Mail abgesetzt werden, so gibt man das Kommando RSET ein und fährt beim Punkt MAIL FROM: fort. Um die Verbindung dagegen zu beenden gibt man das Kommando QUIT ein:
QUIT
|