Einer der ersten Dienste, den die meisten Benutzer kennenlernen ist Electronic Mail oder kurz Email. Email erlaubt den Austausch von Nachrichten und Dokumenten über Computer-Netzwerke. Im Gegensatz zur normalen Post ist die Electronic Mail sehr schnell. In der Regel dauert es lediglich Minuten bis die Nachricht beim Empfänger angelangt ist. Je nach Aufbau der Netzwerkstruktur und der Zuverlässigkeit und Schnelligkeit des Mailverteilsystems am Zielort kann es aber auch einen Tag (in Ausnahmefällen auch mehrere) dauern. Leider kann man aber auch bei großen Universitäten nicht unbedingt davon ausgehen, daß die Mailverteilung schnell und zuverlässig erfolgt.
Die Möglichkeiten von Email sind mit der Übertragung einfacher ASCII Text-Nachrichten noch lange nicht erschöpft. Es bietet zusätzlich die Möglichkeit aufwendigere Textformate (z.B. HTML oder RTF- Rich Text Format) sowie Bild-, Sound- und Videodokumente und darüber hinaus noch jeden beliebigen weiteren Dateityp zu versenden.
Eine Email besteht aus zwei Teilen: dem Header und dem Body. Der Header enthält Informationen, welche hauptsächlich für die Zustellung der Mail relevant sind, der Body die eigentliche Nachricht. Die wichtigsten Header-Felder, welche vom Benutzer angegeben werden können, sind:
Darüber hinaus gibt es noch folgende Felder, welche für den Empfänger einer Mail von Nutzen sind: "From:" enthält die Absenderadresse, "Date:" zeigt Absendedatum und Uhrzeit an, "Message-ID:" enthält eine ID-Nummer der Mail und an "Received:" läßt sich ablesen, welchen Weg die Mail durch das Netz bis zum Empfänger genommen hat (vgl. Anhang C). In manchen Mailprogrammen können diese Felder andere Namen haben, sie werden allerdings dann vom Programm intern in das richtige Header-Format umgesetzt. Außerdem kann es sein, daß nicht alle möglichen Felder sichtbar sind bzw. zum Ausfüllen angeboten werden.
Der Body der Email kann, sofern das Email-System keine
Erweiterungen beherrscht, nur Text im 7-bit ASCII Format
enthalten. Das heißt, daß z.B. keine Umlaute benutzt werden
können. Um diese Einschränkung zu umgehen, gibt es verschiedene
Ansätze. Da sind zum einen die Multipurpose Internet Mail
Extensions (MIME) und zum anderen die SMTP Service Extensions.
Beide ermöglichen im Zusammenspiel die 8-bit Datenübertragung.
Durch die unterschiedlichen teilweise fehlerhaften oder
unvollständigen Implementierungen (insbesondere Bedingt durch
die Unterschiede der Darstellung von Umlauten unter verschiedenen
Betriebsystemen) kann es bei Benutzung von Umlauten trotzdem zu
Problemen kommen.
Es hat sich eingebürgert unter die Emails einen kleinen Abspann
namens "Signature" zu setzen, welcher z.B. Name, Firma,
Adresse oder einen kleinen Spruch enthalten kann. Diese Signature
ist ganz normal im Mail-Body enthalten, wird aber von vielen
Mail-Programmen auf Wunsch automatisch an jede Mail angehängt.
Neben dem Senden von Textnachrichten ist jedoch auch das Versenden von Binärdaten per Email möglich. Dabei integriert das Mail-Programm die Daten in die eigentliche Mail- Nachricht mittels einer speziellen Kodierung, welche das Mail-Programm des Empfängers dann wieder automatisch dekodiert. Damit ist es sogar möglich Bilder,Videos oder jede beliebige sonstige Datei in eine Email zu integrieren. Das setzt allerdings vorraus, daß sowohl das Mail-Programm des Senders als auch des Empfängers den MIME-Standard (s. 4.4) verstehen.
Die Adressierung von Emails geschieht nach dem Schema "user@domain". Dabei gibt es zwei Möglichkeiten:
Im letzteren Fall lautet eine Beispieladresse Klaus.Kolitz@wiwi.uni-karlsruhe.de. Eine solche Adresse ist viel leichter zu merken und spiegelt hier zudem noch die logische Struktur der Organisation wieder.
Neben dem oben erwähnten, immer noch nicht vollständig gelösten Problem der teilweisen Inkompatibilität der Darstellung von Umlauten oder Sonderzeichen und Übertragung von sonstigen nicht 7-bit Daten, dürfen aber auch die anderen Probleme der Electronic Mail nicht verschwiegen werden.
Eine weitere Einschränkung ist z.B., daß in den weit verbreiteten Implementierungen von SMTP keine Empfangsbestätigung vorgesehen ist. Nur eine Minderheit der SMTP- Implementationen bieten diese nützliche Erweiterung. Deswegen hat der Absender meist keine Möglicheit festzustellen, ob eine Email aufgrund von Netzwerk- oder Rechnerproblemen auf dem Weg verloren gegangen ist oder Ihr Ziel erreicht hat. In der Regel kann man aber davon ausgehen, daß eine Email Ihr Ziel erreicht, allerdings weiß man nicht genau wann.
Weitherin wirft die unverschlüsselte Übetragung eine ganze
Reihe von Problemen auf: An erster Stelle ist zu nennen, daß auf
dem Weg der Mail zahlreiche Personen Kenntnis von ihrem Inhalt
nehmen oder im Extremfall diesen sogar Manipulieren und
Verfälschen können. Mögliche Schwachstellen sind jeder Rechner
welchen die Mail auf Ihrem Weg durchläuft, sowie der Zielrechner
auf dem die Mail gespeichert wird bis der Benutzer sie liest oder
abholt. Hierbei sei besonders auf neugierige
Systemadministratoren hingewiesen.
Weiterhin kann der Absender einer Mail sehr einfach gefälscht
werden, so daß man niemals mit hundertprozentiger Sicherheit
sagen kann, ob eine Mail auch tatsächlich vom angegeben Absender
kommt.
Eine Lösung dieses Problems ist mit Hilfe von starker, asymmetrischer Kryptographie, wie sie auch schon weit ausgereift verfügbar ist (z.B. PGP oder RSA), relativ leicht zu bewerkstelligen. Leider hat die Kryptographie mit politischen Behinderungen zu kämpfen und läuft Gefahr in Zukunft verboten oder mittels hinterlegbarer Generalschlüssel oder kleinen Schlüsselgrößen verwässert zu werden.
Das Standardprotokoll von Email im Internet ist heute das
Simple Mail Transfer Protocol (SMTP). Daneben gibt es als zweites
Protokoll noch das X.400 Protokoll, welches aufgrund seiner
minimalen Bedeutung für das Internet hier nicht weiter
erläutert wird.
SMTP ist zuständig für den zuverlässigen und effizienten
Transport von Email. Es ist dabei unabhängig vom
darunterliegenden Protokoll. Im Internet wird jedoch in der Regel
TCP verwendet. In seiner ursprünglichen Form überträgt SMTP
nur 7-bit Daten. Da TCP aber 8-bit überträgt, wird das höchste
Bit jeweils einfach auf Null gesetzt. Wenn der Sender (in der
Regel der zentrale Mailserver des Providers) vom Benutzer den
Auftrag erhält, eine Mail zuzustellen, baut dieser eine
bidirektionale Verbindung zum Zielrechner (bzw. zum für die
Zieldomain zuständigen Rechner) auf. Für SMTP Verbindungen ist
dazu der TCP Port 25 definiert. Der Sender schickt dann SMTP
Kommandos und die eigentliche Mail an den Zielrechner. Der
Empfänger quittiert jeweils mit Ablehnung, Zustimmung oder einer
Statusmeldung (siehe Anhang E). Wenn der
Zielrechner nicht erreichbar ist oder im Moment keine Mail
annehmen kann, probiert es der Sender so lange weiter, bis die
Mail erfolgreich übertragen wurde oder eine voreingestellte
Zeitspanne überschritten ist (z.B. 48 Stunden). Kann die Mail
aus irgendwelchen Gründen endgültig nicht zugestellt werden,
wird eine Fehlermeldung zurück an den Absender geschickt.
Nachdem die Mail dem Zielrechner zugestellt wurde, ist dieser
für die weitere Zustellung an den Benutzer zuständig, was über
verschiedene Mechanismen geschehen kann.
Einige der wichtigsten SMTP Kommandos sind: HELO (dient zur
Indentifikation des Senders), MAIL (Zeigt den Beginn der
Mailtransaktion an), RCPT (Identifikation des Empfängers), VRFY
(Überprüfen einer Benutzer-ID), DATA (Beginn des
Datentransfers, Ende mit einer bestimmten Zeichensequenz:
<CR><LF>.<CR><LF>), HELP
(Hilfeinformationen) und QUIT (Verbindungsabbau). Mit Hilfe
dieser Kommandos kann man auch Mails versenden ohne ein
Mailprogramm zu benutzen indem man direkt eine Telnet- Verbindung
auf Port 25 zum Zielrechner aufbaut. (vgl.
Anhang E)
Ursprünglich war das SMTP Protokoll wegen seines Ursprungs im bekanntlich nicht sonderlich international ausgerichteten amerikanischen Raum auf eine Übertragung von 7-bit Daten beschränkt, was ja für das Versenden von US-ASCII ausreichte. Es wurde jedoch mit der Zeit deutlich, daß diese Einschränkungen mit der zunehmenden Internationalisierung des Internet und dem Wunsch außer Text auch noch Dateien zu übertragen, nicht mehr zeitgemäß waren. Um diese Einschränkungen zu überwinden aber trotzdem kompatibel zum bisherigen Standard zu bleiben gibt es zwei Ansätze:
1. Die Multipurpose Internet Mail Extensions (MIME)
Die MIME erlauben es Text und Binär-Daten innerhalb des vom SMTP definierten Mailformats kodiert zu übertragen. Manche Mechanismen mögen dabei etwas umständlich anmuten. Dies ist dadurch bedingt, daß ein sehr hohes Maß an Kompatibilität zur Mailübertragung mit reinem SMTP gewahrt werden sollte.
MIME beruht auf einer Erweiterung der Header-Funktionalität und der Möglichkeit den Body einer Mail in mehrere Teile zu untergliedern, die als eigenständige Body-Parts angesehen werden und von denen jeder ein ganz unterschiedliches Element (z.B. Text, ein Bild, eine Datei usw.) enthalten kann. Es wurden fünf neue Headerfelder eingeführt:
2. Die SMTP Service Extensions
Die SMTP Service Extensions definieren einen Mechanismus um die Fähigkeiten von SMTP über den ursprünglichen Standard hinaus zu erweitern. Dazu wurde das SMTP Protokoll um Befehle erweitert, welche es Sender und Empfänger erlauben, die von beiden Seiten unterstützten Erweiterungen auszuhandeln. Die wichtigste dieser Erweiterungen ist die Erweiterung des Tansports auf 8-bit. Sie erlaubt es also, wenn von Sender und Empfänger gewünscht, Text ohne das Zurücksetzen des obersten Bits auszutauschen. Diese Service-Extension erlaubt es allerdings trotzdem NICHT direkt beliebige Binärdaten auszutauschen, da in solchen natürlich leicht 1000 Zeichen ohne einen Zeilenumbruch vorkommen können, was nach SMTP aber nicht erlaubt ist.
Dabei wird schon klar, daß MIME und die SMTP Service Extensions nicht als konkurrierende Alternativen sondern eher als zueinander komplementär angesehen werden können. Dies wird besonders deutlich anhand der Tatsache, daß erst der MIME-Standard es erlaubt, einen Text als bestehend aus 8-bit Daten zu deklarieren. Sobald ein solcher Fall eintritt, ist es Sache der Service Extensions auszuhandeln, ob beide Partner den 8-bit Transfer beherrschen. Wenn dies der Fall ist, wird die Mail unverändert übertragen. Wenn z.B. der Zielhost jedoch keinen 8-bit Transfer beherrscht, muß der Mail-Client (also der Sender) entweder eine Fehlermeldung an den Benutzer zurückschicken oder die Message gemäß des MIME-Standards so kodieren, daß sie in 7-bit übertragen werden kann.
Um auch Benutzern, die keinen Zugang zu einem Unix-Shell-Account besitzen die Benutzung von Email zu ermöglichen und um beim Lesen von Mails Kosten zu sparen, wurden sogenannte Offline-Reader entwickelt. Dabei wird die ankommende Mail auf einem Mail-Server zwischengespeichert. Wenn jetzt eine Benutzer seine Mail lesen will, stellt der Offline-Reader eine Verbindung zum Server her, holt alle neuen Mails ab und überträgt dann alle seit dem letzten Verbindungsaufbau vom Benutzer neu verfaßten Nachrichten an den Server zur Weiterleitung. Danach wird die Verbindung wieder abgebaut. Diese Technik ermöglicht sehr kurze und damit günstige Verbindungszeiten und ein bequemes Lesen und Beantworten der Emails von zu Hause aus. Für die Kommunikation zwischen solchen Mailreadern (ein sehr bekanntes Programm, welches für verschiedene Betriebssysteme existiert ist z.B. Eudora) und dem Mail-Server existieren spezielle Protokolle. Das mit der weitesten Verbreitung ist das sogenannte Post Office Protocol (POP). (vgl. Anhang D)
Dieses Protokoll ist allerdings nicht besonders gut geeignet, wenn man seine Mail von verschiedene Rechnern aus lesen will, weil die Mail, um kein Chaos zu verursachen nach dem Abholen auf dem Server gelöscht wird. Für solche Fälle wurde das wesentlich anspruchsvollere Internet Message Access Protocol (IMAP) entwickelt, welches das Halten aller Mails auf dem Server und die dortige Verwaltung ermöglicht. Das IMAP Protokoll ist allerdings noch nicht weit verbreitet, so daß viele gängige Mail-Programme es auch nicht unterstützen.
Das Verschicken von Mails wird bei Offline-Mailreadern im Gegensatz zum Abholen allerdings auch mit dem normalen SMTP durchgeführt.
Neben der interpersonellen Kommunikation hält Email auch noch weitere interessante Anwendungen bereit. So ist es z.B. möglich auf speziell dafür eingerichteten Servern per Email Dateien von FTP-Servern oder sogar Dateien aus dem WWW abzurufen.
Eine weitere wichtige Anwendung sind die sogenannten Mailinglisten. Dies sind Email-Diskussionsforen die praktisch zu jedem erdenklichen Thema existieren. Eine Auflistung wird regelmäßig in der Newsgroup "news.anwers" gepostet. Eine solche Mailingliste funktioniert nach folgendem Prinzip: Man schickt eine Email mit einem speziellen Befehl (siehe die Auflistung in "news.answers") an den Server, der die Mailingliste verwaltet. Dieser nimmt die eigene Email-Adresse dann in einen Verteiler auf. Danach wird jede Mail, die man an eine festgelegte Adresse auf diesem Server schickt an alle Mitglieder der Mailingliste weitergeleitet und umgekehrt erhält man natürlich auch jede Mail, die irgendein anderer Teilnehmer an diese Adresse schickt.
Trotz den unter 4.3 aufgezeigten Problemen gehört Email zu den meistgenutzten Diensten im Internet. Aufgrund immer komfortabler werdender Mailprogramme wird sich die Beliebtheit von Email weiter steigern. Bis die Sicherheitsprobleme von Email z.B. mittels Kryptographie vollständig gelöst sind, sollte man allerdings darauf achten, keine sensiblen Daten wie Kreditkartendaten o.Ä. per Email zu verschicken.
Sobald die noch bestehenden Probleme von Email allerdings gelöst sind, wird sich ein noch viel größerer Teil der interpersonellen Kommunikation, auch aufgrund der geringen Kosten, von den traditionellen Medien wie Briefpost und Telefon auf Email verlagern.