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:

  1. Client verbindet zu Server
  2. 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)
  3. Client begrüßt Server mit "HELO" gefolgt vom eigenen Namen
  4. Server grüßt zurück; das erste Element ist wieder ein Errorcode (wie bei allen Antworten des Servers)
  5. Client teilt mit, von wem ein email zugestellt werden soll: MAIL FROM: + email-addresse
  6. Server akzeptiert sender (mit 2xx code) oder lehnt ihn ab (mit 4xx oder 5xx)
  7. Client teilt mit, an wen ein email zugestellt werden soll: RCPT TO: + email-addresse
  8. Server akzeptiert empfänger (mit 2xx code) oder lehnt ihn ab (mit 4xx oder 5xx)
  9. Client erklärt, dass er nun Daten schicken will: DATA
  10. Server erklärt sich bereit
  11. Client schickt Daten; die letzte Zeile besteht nur aus einem einzelnen Punkt .
  12. Server akzeptiert email (oder nicht)
  13. Client beendet Sitzung mit QUIT (oder beginnt wieder bei 5)
  14. 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.