E-Mail - Killer-Applikation des Internet

E-Mail - Glücklich ist, wer keine bekommt?

Die Anwendung von E-Mail wird oft als so genannte Killer-Applikation des Internet bezeichnet. Eine Applikation, welche einem Medium zum Durchbruch verhalf (analog SMS bei Mobiltelefonen). Die Verwendung von E-Mail hat den unbestrittenen Vorteil, dass Versand und Empfang lose gekoppelt sind - sie verlaufen asynchron. Dies ist anders als bei einem Telefongespräch - dort müssen beide Gesprächspartner synchron anwesend sein.

Das TCP/IP-Protokoll ist die Grundlage für den Datenverkehr im Internet. Auf diesen Protokoll-Stapel (TCP/IP) werden nach dem OSI-Referenzmodell verschiedene weitere Dienste aufgesetzt. Ein Internet-Client (PC, Notebook, Netbook,  Tablet PC, Smartphone) der E-Mails vom Server abruft, verwendet das POP3-oder IMAP4-Protokoll. Beim Mail-Versand hingegen wird die SMTP-Vereinbarung verwendet.

E-Mail-Versand und Empang mit Protokollen

Das Postfach beim Internet-Provider wird vom Client über das POP3 oder IMAP-Protokoll geleert bzw. abgefragt. Bei POP3 werden die Nachrichten auf dem Server gelöscht und in lokale Datenverzeichnisse verschoben, dies entspricht auch dem Wunsch oder der Anforderung vieler E-Mail-Provider, da sie dann von den E-Mails «entlastet» werden. Bei IMAP werden die E-Mails in Ordner-Strukturen auf dem Server gespeichert und sind so weltweit und mobil verfügbar.

IMAP wird von allen Providern unterstützt, POP3 ist aber noch immer der am meisten verwendete Standard und ein ziemlich «unsicheres Protokoll» ohne Verschlüsselung mit klarer Übergabe von Benutzername und Passwort.

Senden mit dem SMTP-Protokoll

Die Abkürzung SMTP steht für «Simple Mail Transfer Protokoll». Das SMTP-Protokoll ist wirklich ziemlich simpel - aber dennoch zuverlässig. Ein Aspekt, der der E-Mail-Anwendung zum Durchbruch («Killer-Applikation») verhalf.
  • Transport von E-Mails vom Client zum Mail-Server (MTA)
  • Transport von Server zu Server (MTA zu MTA = Message Transfer Agent)
  • Lieferung von SMTP-Mail erfolgt in einem Punkt-zu-Punkt-Verfahren, das heisst vom Sender direkt zum Empfänger
  • Identifikation erfolgt nur mit einer gültigen Internet-Domain-Bezeichnung als Benutzer, ohne Passwort

Eine SMTP-Kommunikation zwischen E-Mail-Client und E-Mail-Server kann auch mittels Telnet durchgeführt werden. Die Befehle der Client-Seite werden in diesem Terminal-Logbuch rot dargestellt.:

Telnet>open mail.server1.ch 25
220 mail.server1.ch ESMTP Sendmail 8.9.3/8.9.3; Tue, 2 Jan 200# 18:03:27 +0100

HELO mail.server2.ch
250 mail.server1.ch Hello pop.surfer.ch [194.230.230.247], pleased to meet you
HELP
214-This is Sendmail version #.#.#
214-Topics:
214- HELO EHLO MAIL RCPT DATA
214- RSET NOOP QUIT HELP VRFY
214- EXPN VERB ETRN DSN
214-For more info use "HELP ".
214-To report bugs in the implementation send email to
214- sendmail-bugs@sendmail.org.
214-For local information send email to Postmaster at your site.
214 End of HELP info

MAIL FROM:hans.muster@server1.ch
250 hans.muster@server2.ch... Sender ok

RCPT TO:peter.meier@server2.ch
550 peter.meier@server1.ch... Recipient ok

DATA
354 Enter mail, end With "." on a line by itself
Hallo Peter
Dies ist ein Mail in einer Telnet-Sitzung, zur Demonstration von SMTP mit Sendmail.
SMTP ist einfach aber dennoch zuverlaessig.
.

250 Mail accepted
QUIT

221 mail.server1.ch delivering mail

Erklärungen zum Terminal-Logbuch
  • Verbindung zum Server mail.server1.ch wird über das Telnet-Kommando OPEN zum SMTP-Anschluss von TCP/IP (Port 25) aufgebaut
  • Identifikation des sendenden Servers erfolgt über das Kommando HELO, dabei genügt ein gültiger Server- und Domain-Namen, es ist kein Passwort erforderlich
  • HELP zeigt die Software und die verwendete Version des SMTP-Dienstes an, in diesem Fall handelt es sich um Sendmail auf einer LINUX-Maschine. HELP ist ein Kommando für den interaktiven Modus von SMTP und wird in der automatischen Client/Server-Kommunikation nicht verwendet.
  • MAIL FROM: definiert den Sender in der neuen Nachricht
  • RCPT TO: definiert den Empfänger in der neuen Nachricht
  • DATA öffnet die Daten-Eingabe, dies ist der normale Mail-Text, der auch in einem Mail-Client erfasst wird, die Dateneingabe des Mails wird mit einem «.» (Punkt) auf einer einzelnen Linie abgeschlossen
  • QUIT beendet die SMTP-Sitzung und versendet zugleich das Mail
Weitere SMTP-Befehle
  • VRFY überprüft einen Benutzernamen
  • EXPN erweitert eine Mailingliste
  • RSET bricht eine Nachricht ab
  • SEND, SOML, SAML und TURN sind Befehle welche im RFC 821 für SMTP (IEEE) optional definiert aber nicht allzu häufig implementiert sind

SMTP ist ein sehr einfaches Protokoll, wie der Name «Simple» es schon ausdrückt. Dennoch bietet es einen wichtigen Vorteil, im Vergleich zu anderen Mail-Protokollen wie UUCP oder X.400. SMTP liefert die E-Mails direkt vom Sender zum Empfänger aus.

Bei UUCP und X.400 wird ein sogenanntes «Store and Forward-Verfahren» angewendet. Dabei werden die Mails von einem Server zum nächsten weitergeleitet (von «Hop» zu «Hop»).


Empfangen mit dem POP3-Protokoll


Abkürzung für: Post-Office-Protocol / Version 3
  • Aktueller Standard für E-Mail-Download mit PC, PDA, Workstations
  • Nachrichten werden nach dem Download - normalerweise - auf dem Server gelöscht
  • Übermittlung des Benutzernamen und Passwortes im Klartext

Eine POP3-Kommunikation zwischen E-Mail-Client und E-Mail-Server kann auch mittels Telnet durchgeführt werden. Die Befehle der Client-Seite werden in diesem Terminal-Logbuch rot dargestellt.:

Telnet>open mail.server.ch 110
+OK X1 NT-POP3 Server mail.server.ch (IMail #.##)

USER hans.muster@server.ch

+OK send your password

PASS passwort

+OK welcome

STAT

+OK 1 1861

LIST 1

+OK 1 1861

TOP 1

+OK 1861 octets
Received: from mailout00.sul.t-online.com [194.25.134.16] by mail.server.ch with ESMTP (SMTPD32-6.05) id A78821420114; Tue, 02 Jan 200# 15:36:56 +0100

Received: from fwd04.sul.t-online.com by mailout00.sul.t-online.com with smtp id 14DSYa-0007QY-05; Tue, 02 Jan 200# 15:36:56 +0100


Received: from t-online.de (0763315331-0001@[217.3.188.133]) by fwd04.sul.t-online.com with esmtp id 14DSYM-0q72f2C; Tue, 2 Jan 200# 15:36:42 +0100


Message-ID: <3A51E71A.A856DA94@t-online.de>

Date: Tue, 02 Jan 200# 15:35:06 +0100
From: thomas.muster@t-online.de
X-Mailer: Mozilla #.## [de]C-DT (Win2000; I)
MIME-Version: 1.0

To: hans.muster@server.ch

Subject: Betreff des E-Mails

Content-Type: text/plain; charset=iso-8859-1

Content-Transfer-Encoding: 8bit

X-Sender: 0763315331-0001@t-dialin.net

X-RCPT-TO:
X-UIDL: 268925966

Status: U

QUIT
+OK POP3 Server saying Good-Bye

Erklärungen zum Terminal-Logbuch
  • Verbindung zum Server mail.server.ch wird über das Telnet-Kommando OPEN zum POP3-Anschluss von TCP/IP (Port 110) aufgebaut
  • Anmeldung des Benutzers erfolgt über die Kommandos USER und PASS
  • STAT liefert den Status bzw. die Anzahl der ungelesenen Nachrichten zurück
  • LIST 1 gibt die Grösse der Nachricht 1 oder die Gesamtgrösse aller Nachrichten aus (im Beispiel ist nur 1 Nachricht in der Mailbox)
  • TOP 1 gibt den Kopf (Header) der E-Mail aus, optional können n Zeilen der E-Mail angezeigt werden («TOP 1 5» für 5 Zeilen der Nachricht 1)
  • Verbindung zum Server wird mit QUIT abgebrochen

Weitere POP3-Befehle
  • RETR 1 empfängt die Nachricht 1
  • DELE 1 löscht die Nachricht 1
  • RSET hebt die Löschung aller Nachrichten auf und setzt den Nachrichtenzeiger auf 1 zurück
  • LAST gibt die Nummer der zuletzt im Zugriff befindlichen Nachricht aus
  • NOOP keine Aktion (No Operation), hält aber die Verbindung zum Server aufrecht

Weitere Details zu POP3 sind in der RFC 1725 des IEEE dokumentiert.

E-Mail-Header in den E-Mail-Clients

Die Kommunikation zwischen E-Mail-Client und -Server (im Beispiel POP3) wird von E-Mail-Clients wie Outlook, Netscape, Eudora usw. automatisch im Hintergrund abgewickelt, die Nachrichten werden auf einem übersichtlichen GUI präsentiert.

Die Anzeige des Headers wird in den Mail-Clients meistens unterdrückt oder in einem speziellen Dialogfeld angezeigt. Bei Microsoft Outlook können die «Internetkopfzeilen» einer E-Mail über Datei / Eigenschaften angezeigt werden:

E-Mail-Kopfzeilen in Microsoft Outlook 2010

Microsoft Outlook stellt die SMTP-Protokoll-Informationen aus dem E-Mail-Transfer in diesem Dialogfenster in den Eigenschaften der E-Mail dar.

E-Mails empfangen mit dem IMAP-Protokoll

Abkürzung für: Internet Mail Access Protocol / Version 4. Im Vergleich zum einfachen Protokoll POP3 bietet IMAP4 folgende Vorteile:
  • Zugriff auf Postfach mit Verschlüsselung / sicherer Verbindung möglich.
  • E-Maildaten können auf Mail-Server in Ordnern organisiert werden
  • E-Mails und Anhänge bleiben auf dem Server gespeichert

Die Nutzung von IMAP eignet sich besonders für PDA, Tablet PC, Netbooks oder Notebooks, da von diesen Geräte mobil auf das Postfach zugegriffen wird, die Daten aber nicht heruntergeladen und auf dem Server gelöscht werden wie bei POP.

E-Mail-Anhänge senden/empfangen über das MIME-Protokoll

Das MIME-Protokoll ist sowohl eine Erweiterung von SMTP, POP3, IMAP wie auch von HTTP. MIME bedeutet «Multipurpose Internet Mail Extension», es handelt sich bei MIME um einen Standard der Mail-Protokolle (insbesondere SMTP, RFC 821) so erweitert, dass Daten, beispielsweise Video-, Audio- und Binärdateien über Internet-E-Mail übertragen werden können ohne zuvor in das 7-Bit ASCII-Format umgewandelt werden zu müssen.

Das MIME-Protokoll strukturiert die E-Mails in eine Hauptnachricht, einen sogenannten Body und die jeweiligen Anhänge in den verschiedenen MIME-Typen. Dies sogenannte «MIME-Typen» beschreiben den Inhalt oder die Inhalte einer E-Mail. Eine MIME-kompatible Anwendung (Mail-Client wie Outlook) die eine Datei sendet, ordnet der Datei einen MIME-Typ zu. Die Empfängeranwendung, die ebenfalls MIME-kompatibel sein muss, bezieht sich auf eine standardisierte Liste mit Dokumenten, die in MIME-Typen und -Untertypen strukturiert ist, um den Inhalt der Datei übersetzen zu können.

Ein MIME-Typ ist beispielsweise «text», der wiederum eine bestimmte Anzahl von Untertypen enthält, etwa «plain» und «html». Der MIME-Typ «text/html» verweist auf eine Datei, deren Text im HTML-Format verfasst ist. Weitere gebräuchliche MIME-Typen sind:
  • application: Binärdaten im 8-Bit-Format, der Typ application kennt weitere Sub-Typen wie application/msword für E-Mail-Anhänge von Microsoft Word oder application/postscript für PostScript-Dateien
  • image: Grafiken als Einzelbilder, Sub-Typen sind image/jpeg oder image/gif usw.
  • video: Video-Stream-Daten, Sub-Typen sind video/mpeg, video/quicktime usw.
  • audio: Audio-Daten, Sub-Typen sind audio/basic und audio/wav
  • multipart: Mail-Anhänge von verschiedenen Typen, Sub-Typ ist beispielsweise mixed
  • message: Mail-Anhang der aus einer Mail besteht
Zustätzliche MIME-Befehle: ESMTP
Der MIME-Standard besteht aus zusätzlichen Befehlen und entsprechenden Client-Antworten die beispielsweise zu SMTP hinzugefügt werden. Beispielswiese ist ein neuer Hello-Befehl definiert («EHLO»), die gültige Antwort auf EHLO (Extended HELO, siehe SMTP-Beispiel) ist eine Liste der unterstützten SMTP-Erweiterungen. Die erweiterten SMTP-Dienste werden auch als ESMTP (Extended SMTP) bezeichnet. In den Beispielen zur POP3 bzw. SMTP-Kommunikation taucht das Kürzel ESMTP entsprechend auf.

Ein Mail-Dienst der ESMTP unterstützt stellt meistens folgende Zusatzdienste:
  • 8BITMIME: Unterstützung für 8-Bit-Binärdaten
  • CHUNKING: Auch E-Mails die in mehrere Teile zerlegt sind werden verarbeitet
  • SIZE: Anfrage der maximal erlaubten Nachrichtengrösse, erspart die Übermittlung und den plötzlichen Abbruch bei grossen E-Mails (Beispiel MIME-Type «video/quicktime»)
  • ENHANCEDSTATUSCODE: Verbesserte und differenziertere Fehlermeldungen werden ausgegeben
  • DSN: Angaben über E-Mail-Auslieferung werden unterstützt (Lesebestätigungen des Empfängers usw.)

MIME und ESMTP sind aus der heutigen E-Mail-Kommunikation nicht mehr wegzudenken, da die Anwender von E-Mail sich über die Art und Weise des versandten Anhanges einer Mails keine Gedanken machen. Hauptsache das Mail ist auf dem Weg und kommt auf der Gegenseite an, der Rest ist Aufgabe der Server, Dienste und Protokolle.