05.11.2013 Aufrufe

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

150 4 Gr<strong>und</strong>lagen der Socket-Programmierung<br />

HELO indien<br />

250 manhattan Hello indien [192.168.1.1]<br />

MAIL FROM: <br />

250 OK<br />

RCPT TO: <br />

250 Accepted<br />

DATA<br />

354 Enter message, ending with "." on a line by itself<br />

Kurze Nachricht: Sind gut angekommen.<br />

Später mehr.<br />

.<br />

250 OK id=1AvZ8c-00073q-4i<br />

QUIT<br />

221 manhattan closing connection<br />

Connection closed.<br />

Anders als der Daytime-Dienst beginnt der Mailserver die Konversation umgehend<br />

<strong>mit</strong> einer Begrüßungsformel. Wichtig ist in dieser ersten Zeile vor allem<br />

der Statuscode 220, <strong>mit</strong> dem der Server seine Bereitschaft signalisiert, von<br />

seinem Gegenüber Aufgaben anzunehmen. 3 Auf diese Begrüßung reagiert der<br />

SMTP-Client seinerseits <strong>mit</strong> einem Hallo, ich bin der Client <strong>mit</strong> dem Namen<br />

”<br />

indien“, indem er an den Server HELO, gefolgt von seinem eigenen Rechnernamen<br />

schickt. 4 Der Server erwiedert die Begrüßung des Clients durch ein Hallo ”<br />

indien“ <strong>mit</strong> Statuscode 250. Wichtig ist auch hierbei wieder der Statuscode<br />

250, der so viel bedeutet wie Deine Anforderung war ok, ich bin fertig“.<br />

”<br />

Nachdem sich die beiden Parteien nun <strong>mit</strong>einander bekannt gemacht haben,<br />

folgt die eigentliche, dreistufige Mail-Transaktion: Die Transaktion beginnt<br />

<strong>mit</strong> dem Kommando MAIL, das eine neue Mail initiiert <strong>und</strong> gleichzeitige den<br />

Absender der Mail an den Server übergibt. Danach folgen eine oder mehrere<br />

RCPT-Zeilen, über die die Adressaten der Mail festgelegt werden. Als letztes<br />

folgt die eigentlich zu überbringende Nachricht, eingeleitet durch das Kommando<br />

DATA <strong>und</strong> abgeschlossen durch eine Marke, die das Ende der Mail<br />

anzeigt. Diese Marke besteht aus einer Textzeile, die als erstes <strong>und</strong> einziges<br />

Zeichen einen Punkt enthält.<br />

Falls die Anforderungen des Clients erfüllt werden können, reagiert der Mailserver<br />

jeweils <strong>mit</strong> dem Statuscode 250. DasDATA-Kommando kann allerdings<br />

erst abgeschlossen werden, wenn die Ende-Markierung erreicht ist. Deshalb<br />

quittiert der Server die Eingabe DATA zunächst <strong>mit</strong> der Aufforderung, nun<br />

den Nachrichtenteil der Mail zu liefern, was sich im Statuscode 354 ausrückt.<br />

Alle jetzt folgenden Textzeilen bilden – ausschließlich der Ende-Marke – den<br />

3 Alternativ könnte der Server auch <strong>mit</strong> dem Code 554 reagieren, um zu signalisieren,<br />

daß er derzeit seine Dienste nicht zur Verfügung stellt.<br />

4 Neuere SMTP-Clients schicken anstatt HELO die Zeichenkette EHLO an den Server<br />

<strong>und</strong> zeigen da<strong>mit</strong> an, daß sie diverse SMTP-Serviceerweiterungen unterstützen.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!