6.4. E-Mail

6.4.1. Architektur

Elektronische Post (E-Mail) ist zweifelsfrei einer der wichtigsten Internetdienste. Ohne E-Mail wäre beispielsweise auch Ihr IuK-Studium undenkbar. Das Medium und seine Werkzeuge haben Sie bereits in großem Umfang genutzt. In diesem Abschnitt soll es daher um die Funktionsweise dieses wichtigen Dienstes gehen.

Das ursprüngliche Architekturmodell für Internet-Mail (RFC 821) war recht einfach und ist im Kern auch heute noch gültig:

Der Nutzer übergibt die Nachricht einem SMTP-Sendeprogramm. Dieses kann die Mail-Nachricht entweder sofort an den Empfänger übertragen, oder es muß die Nachricht im lokalen Filesystem zwischenspeichern, wenn der Empfänger momentan nicht erreichbar (oder überlastet) ist. Für die Übertragung wurde das Simple Mail Transfer Protocol - SMTP standardisiert. Beim Empfänger landet die Nachricht in dessen lokalem Filesystem, wo sie der Empfänger ansehen kann (das ist schon nicht mehr Gegenstand von SMTP).

Neben Internet-Mail auf SMTP-Basis entstanden noch eine Reihe weiterer Mail-Architekturen und -Protokolle (jeder große Hersteller hatte etwas Eigenes; außerdem gab es noch die CCITT-Empfehlungen der X.400-Reihe). Ein allgemeineres Architekturmodell zeigt das folgende Bild:

Neue Begriffe sind dabei:

Gegenüber dem einfachen Modell zu Anfang wird der User Agent als eigenständiges Element eingeführt, das möglicherweise auch nicht auf demselben Rechner wie der MTA angesiedelt ist.

Wieder bezogen auf die konkreten Verhältnisse und Begriffe eines typischen Internet-Mail-Szenariums erhalten wir folgendes Bild:

Das Nutzer-Interface ist der User Agent (UA), z.B. mail, elm, pine, eudora. Dieser stellt dem Nutzer ein mehr oder weniger komfortables Werkzeug zur Bearbeitung der zu sendenden E-Mail zur Verfügung. Die eigentliche Übertragung der Nachricht erfolgt durch die Message Transfer Agents (MTA) auf der Basis des Protokolls SMTP (Simple Mail Transfer Protocol) und einer TCP-Verbindung. Der MTA auf der Empfängerseite verwaltet die Mailboxen (meist einfach ein File) der einzelnen Nutzer. Darauf hat wiederum der UA Zugriff, so daß dieser die empfangene Nachricht in einer entsprechenden Form aufbereiten kann (z.B. nach Empfangszeit sortiert).

Die Übertragung der Nachricht erfolgt nach dem Prinzip store and forward, d.h., der Absender-MTA baut die Verbindung (meist) nicht direkt zum Empfänger-MTA auf, sondern wendet sich an einen Übertragungs-MTA (alle MTAs sind funktionell identisch, nur verschieden konfiguriert). Diese Technik bietet gegenüber einer direkten Verbindungsaufname (die prinzipiell möglich wäre) folgende Vorteile:

Auf der Empfängerseite nehmen wir zunächst an, daß Empfänger-MTA und User Agent auf demselben Rechner laufen und folglich problemlos auf die user mailboxes im lokalen Filesystem zugreifen können.

Entfernter Mailbox-Zugriff

Im einfachsten Fall befinden sich das "Postamt" (MTA) mit den Mailboxen und der User Agent im selben Rechner:

Dieser Rechner sollte natürlich ständig eingeschaltet sein. Ein Nachteil dieser Architektur ist der recht hohe Administrationsaufwand eines "Postamts" auf jedem Arbeitsplatz.

Eine sinnvolle Lösung besteht in der räumlichen Trennung von "Postamt" und Nutzer-Interface. Das Abschicken von Mail erfolgt dabei üblicherweise mit SMTP (Simple Mail Transfer Protocol). Der User Agent muß dazu die Klientenrolle von SMTP realisieren (einige Unix-UAs bedienen sich noch eines vereinfachten MTAs).

Für das Empfangen von Mail ist SMTP dagegen weitgehend ungeeignet, da das Abholen (und in vielen Fällen der Aufbau der TCP-Verbindung überhaupt) vom Empfänger veranlaßt wird. Ein Zugriff auf die Mailboxen beim zuständigen MTA kann mit folgenden Protokollen erfolgen:

  1. Ein Netzwerk-Filesystem wird für den Zugriff des MUA auf empfangene Mails verwendet:

    Als Netzwerk-Filesystem-Protokoll findet im IP-Bereich hauptsächlich NFS Verwendung, im PC-Bereich sind auch andere Protokolle dafür verbreitet, z.B. Netware.
    Diese Variante ist von der Handhabung her recht bequem, sie ist aber nicht immer einsetzbar, da die Filesystem-Protokolle über Verbindungen mit niedriger Kapazität oder gar Wählverbindungen nur schlecht oder gar nicht funktionieren. Auch die Sicherheitseigenschaften der Filesystem-Protokolle verbieten diese Variante oft.

  2. Einsatz von speziell für diesen Zweck entwickelten Protokollen:

    Diese beiden Protokolle werden in separaten Abschnitten behandelt.


    © Uwe Hübner, Heino Gutschmidt, 30.6.1998