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:<Absender.Name@Absender.Host>
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 <Absender.Name@Absender.Host>...
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:<Empfaenger.Name@Empfaenger.Host>
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
<Empfaenger.Name@Empfaenger.Host>... 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
|