Mail-Server/Client

E-Mail-Anwendungen sind sicherlich die meist verwendeten Programme für das Netz; ein Großteil der Netzbandbreite insgesamt wird für e-Mail benötigt. (Weitere e-Mail Informationen können unter http://www.imc.org/rfcs.html abgerufen werden).

Mit Hilfe des Simple Mail Transfer Protocol (SMTP) werden e-Mails zwischen e-Mail-Servern selbst versendet. Um e-Mails von Server abrufen zu können, haben sich die Standards POP3 (Post Office Protocol Version 3) und IMAP (Internet Message Access Protocol Version 4) durchgesetzt. Beim POP3 Empfang werden die Mails im Gesamtumfang heruntergeladen (samt Attachments) und können erst dann angesehen werden. Mit IMAP lassen sich auch nur die Header herunterladen und der Rest verbleibt am Mailserver. So ist es möglich, schon z.B. am Betreff zu entscheiden, ob die Mail noch heruntergeladen werden soll, oder doch gleich gelöscht wird (somit fällt z.B. auch der Download der Attachments weg).

Mailserver

Der Mailserver (MTA - Mail Transfer Agent) hat die Aufgabe, Nachrichten entgegenzunehmen und an andere Mailserver weiterzuleiten. Empfangene Nachrichten werden in Benutzer-Postfächern abgelegt, da die User nicht immer online sind. Mailserver laufen durchgehend, um jederzeit Nachrichten vermitteln zu können.

Der Mailclient (MUA - Mail User Agent) hat die Aufgabe, Nachrichten vom Server abzurufen, anzuzeigen und Mails zum Versenden an den Server zu leiten. Er läuft meist nur bei Bedarf.

SMTP - Simple Mail Transfer Protocol (textorientiertes Protokoll, siehe Beispiel unten)
Es wird zum Versenden von Mails verwendet, standardmäßig über Port 25.

Zum Austausch von Mails dienen MTAs (Mail Transfer Agents, z.B. sendmail). e-Mail Clients wie Thunderbird, Eudora oder Outlook übernehmen dabei die Kommunikation zwischen Enduser und MTA. Die Kommunikation basiert dabei auf ASCII-Zeichen.

e-Mails im Internet bestehen aus dem Benutzernamen, dem @-Zeichen und einem darauffolgenden Domain-Namen, z.B. abcdf123@ufg.ac.at

Auch hier spielt das DNS System eine wichtige Rolle: Wird die e-Mail versendet, übernimmt der MTA (Mailserver) die Daten und fragt den DNS-Server, ob für den Domainnamen der in der e-Mail enthalten ist ein MX (mail exchange) Eintrag vorliegt. Der MX-Record gibt einen Mailserver an, der für die Domain zuständig ist. Nun schickt der Mailserver die e-Mail an den dort eingetragenen Rechner - der dann meist die e-Mail solange zwischenspeichert, bis der Empfänger sie mit einem Mail-Client per POP oder IMAP abruft. Prinzipiell kann eine e-Mail dabei über mehrere Server laufen, bis sie am Ziel angekommen ist.

Die e-Mail besteht grundsätzlich aus:

  • Envelop: enthält Sender und Empfänger
  • Header: der z.B. Message-ID der Email, Subject, Date...etc enthält.

    Die eigentliche Nachricht steht im
  • Body als 7-Bit Ascii-Code (Zeichen 0 bis 127, keine Sonderzeichen, Umlaute etc).

Unter Received werden alle Mailserver aufgelistet, die passiert wurden am Weg vom Sender zum Empfänger:

Jede Nachricht erhält im Übrigen eine eindeutige Message-ID, meist ist die Host-Adresse des Senders enthalten:

Einträge, die mit X beginnen, sind für die Versendung nicht nötig. Sie werden z.B. vom e-Mailprogramm oder von einem Mail-Scanner hinzugefügt:

oder Microsoft-Outlook spezifische Eintragungen, mit denen andere E-Mailprogramme wohl meist nichts anfangen werden:

MIME - Multipurpose Internet Mail Extensions (zum Empfangen)

Zurück zu den Anfängen des e-Mail Verkehrs. Die Zeichen durften nur aus dem 7-Bit ASCII Code bestehen, somit waren Sonderzeichen wie Ø oder © nicht möglich. Schon gar nicht das Mitsenden binärer Daten, wie Programme, Bilder oder Musikstücke. Um diese Einschränkungen des ursprünglichen Systems aufzuheben, wurde MIME eingeführt:

Sollen z.B. Attachments wie Bilder oder Videos (Binärdaten) versandt werden, wird das MIME-Protokoll (Multipurpose Internet Mail Extensions) verwendet. Früher, als MIME noch nicht spezifiziert war, wurden Binärdaten mit Tools wie uuencode in den 7-bittigen Code für die Versendung umgewandelt. Der Empfänger konnte die Binärdaten mit uudecode wieder in ihr ursprüngliches Format zurückwandeln (auf Apple-Rechnern wurde BinHex eingesetzt).

MIME besteht wiederum aus einem Header, der dem Mailclient mitteilt, welche Daten er zu erwarten hat und wie sie kodiert wurden, so kann er sie auf geeignete Weise dekodieren und dem Benutzer zugänglich machen (anzeigen, abspielen, mit bestimmter Anwendung öffnen etc).

8-bit kodierter Text gesandt, sähe folgendermaßen aus:

Würden gleich mehrere Objekte mitversandt, erfährt dies der Client durch "multipart/mixed":

einige weitere Möglichkeiten für Content-Types:
video/mpeg
video/quicktime
image/jpeg
image/gif
...

Liste gängiger MIME Types: http://www.iana.org/assignments/media-types/

verschiedene Content-Transfer-Encondings:

  • 7bit,
  • 8bit,
  • binary
  • quoted-printable: w=E4re der Umlaut a (Sonderzeichen sind durch = Zeichen und 2stelligen Hex-Wert dargestellt, hier: =E4 für ä)
  • base-64: beschränkt die Kodierung auf 65 druckbare Zeichen - die e-Mails werden cirka ein Drittel größer

z.B.

Versteht der e-Mailclient diese kodierten Daten uU nicht, kann er sie nicht dekodieren und zeigt sie falsch an:

Mail-Gateways

Ein e-Mail Gateway wandelt Mail-Dokumente von einem Format ins andere. Z.B. verwendet Lotus das CC:Mail Format. Da dieses Format nicht Standard ist, wird es dahingehend umgewandelt, dass es kompatibel per SMTP-Server übertragen werden kann. Am Ziel kann ein weiteres Gateway gegebenenfalls die Rückwandlung vornehmen, aber auch abermals das Mail in ein anderes Format wandeln (z.B. zum nachherigen Versand per SMS auf ein Handy).

Mailinglisten

Die Mailingliste ist kurz gesagt ein Verteiler (eine Verteilerliste) - alle Mails, die an die Mailinglisten-e-Mailadresse gesandt werden, werden automatisch an alle Mitglieder der Liste weitergesandt. Die Empfänger können wieder an die Mailingliste oder individuelle Personen zurückschreiben.

Die Verwaltung der Mitgliederlisten übernimmt das Verwaltungsprogramm (z.B. Programme wie listserv oder majordomo). Durch Subskription (subscribe) ist es möglich, einer Mailingliste beizutreten (die eigene e-Mail wird somit zur Verteilerliste hinzugefügt); mit unsubscribe wird die eigene e-Mail aus der Liste wieder entfernt.

Mailinglisten können um einen Digest-Dienst (alle Mails sind in einem File zum Download zusammengefasst, z.B. geordnet nach Monaten) und ein Listen-Archive (meist eine hierarchische HTML-Verlinkung des stattgefundenen Mailverkehrs) erweitert werden.

Listen können

  • offen (jede/r kann sich mit der e-Mailadresse anmelden - open list),
  • geschlossen (nur bestimmte e-Mailadressen werden angenommen oder vom Listmanager für ok befunden - closed list) bzw.
  • moderiert (jeder neue Beitrag wird vor der Verteilung von einem Moderator begutachtet und angenommen oder abgelehnt - moderated) sein.

Weiters gibt es die Möglichkeit, dass Listen entweder alle e-Mailbeiträge annehmen/weiterleiten, oder aber nur die der schon beigetretenen User.