SMTP
Simple Mail Transport Protocol
Protokoll zum Verschicken von e-mails (Client->Server, Server->Server)
definiert in RFC http://www.faqs.org/rfcs/rfc821.html
Protokoll-Beschreibung:
- Client verbindet zu Server
- Server stellt sich dem Client mit einem String vor; das erste Element der Anwtort ist ein Errorcode (2xx == OK; 4xx == temporärer Fehler, 5xx == anhaltender Fehler)
- Client begrüßt Server mit "HELO" gefolgt vom eigenen Namen
- Server grüßt zurück; das erste Element ist wieder ein Errorcode (wie bei allen Antworten des Servers)
- Client teilt mit, von wem ein email zugestellt werden soll:
MAIL FROM:
+ email-addresse - Server akzeptiert sender (mit 2xx code) oder lehnt ihn ab (mit 4xx oder 5xx)
- Client teilt mit, an wen ein email zugestellt werden soll:
RCPT TO:
+ email-addresse - Server akzeptiert empfänger (mit 2xx code) oder lehnt ihn ab (mit 4xx oder 5xx)
- Client erklärt, dass er nun Daten schicken will:
DATA
- Server erklärt sich bereit
- Client schickt Daten; die letzte Zeile besteht nur aus einem einzelnen Punkt
.
- Server akzeptiert email (oder nicht)
- Client beendet Sitzung mit
QUIT
(oder beginnt wieder bei 5) - Server beendet Session
Beispiel-Session:
~$ telnet iem.at 25 Trying 193.170.191.180... Connected to iem.at. Escape character is '^]'. 220 mail.iem.at ESMTP Exim 4 codename moltofill Mon, 27 Nov 2006 14:01:38 +0100 HELO localhost 250 mail.iem.at Hello router.iemnet "19216871":19216871 MAIL FROM: <sender@example.com> 250 OK RCPT TO: <zmoelnig@iem.at> 250 Accepted DATA 354 Enter message, ending with "." on a line by itself Subject: hallo das ist nur ein Text.... good bye Hannes . 250 OK id=1Gog7s-0002vt-M1 QUIT 221 mail.iem.at closing connection Connection closed by foreign host.