Mailboxen sind zu allererst benutzereigene Speicher für eingehende E-Mails. Sie sind der Übergabeort zwischen Mail-Server und Empfänger, oder exakter zwischen Mail Delivery Agent (MDA) und Mail User Agent (MUA), also der Client-Software, mit der sich die Post öffnen und lesen läßt. Das ist die offensichtlichste, aber nicht die einzige Funktion einer Mailbox.
Zweitens gestatten die meisten E-Mail-Programme dem Benutzer, Extra-Postfächer (Mail-Folder) einzurichten, in denen er die digitalen Briefe sortieren kann (beispielsweise thematisch oder nach Absender).
Und drittens schließlich spielen Mailboxen eine große Rolle bei der Archivierung und beim Transfer von Mail zwischen verschiedenen Mail-Klienten, Accounts oder Rechnern. In aller Regel wird man dabei nicht einzelne Nachrichten, sondern komplette Mailboxen verschieben.
Artenvielfalt
Aus den verschiedenen Funktionen ergeben sich besondere Anforderungen: Das Ablagesystem soll häufige Zu- und Abgänge ohne Probleme vertragen, dabei übersichtlich bleiben, wenn möglich Plattenplatz sparen und gleichzeitig einfache Schnittstellen für Programmierer bieten. In einer Multitasking- und Multiuser- Umgebung kommt hinzu, dass es möglicherweise von verschiedenen Seiten zeitgleich benutzt wird.
Diese vielfältigen Ansprüche an Mailboxen führten historisch zu unterschiedlichen Lösungen, die alle bis heute Bestand haben und oft sogar von einem Benutzer gleichberechtigt nebeneinander verwendet werden können. Das Hauptunterscheidungsmerkmal ist dabei die Organisation des Mailbox-Files oder -Folders. Wichtigste Varianten sind dabei: Eine Datei pro Nachricht, eine Datei pro Mailbox oder eine Datei pro Nutzer mit mehreren Mailboxen in einer Datenbank. Das zuletzt erwähnte System wird vor allem in individuellen Installationen verwendet; professionelle Systeme benötigen robustere und feiner granulierte Lösungen.
Klassiker
Ein klassisches Format für Mailboxen heißt auch fast so: "mbox". Es handelt sich dabei um einen Vertreter des Systems "eine Datei pro Postfach". Die einzelnen Mails werden in der Datei einfach aneinandergehängt. Kommt eine neue Mail an, landet sie am Ende der Datei.
Damit das System zwei Mails voneinander trennen kann, beginnt jede mit einer Zeile, an deren Anfang das Wort "From" gefolgt von einem Leerzeichen steht. Daran schließen sich üblicherweise noch das Empfangsdatum und der Envelope-Sender an. Es folgen die Header-Daten und, nach einer Leerzeile, der Body der E-Mail (Listing 1).
Listing 1
Eine mbox-Datei
From user@domain.com Sat Jun 14 14:45:12 2003
Received: from localhost (localhost.localdomain [127.0.0.1])
by anmen.not-for-mail (8.11.6/8.11.6) with ESMTP id h5ECjBA29295
for; Sat, 14 Jun 2003 14:45:11 +0200 Message-ID: <3EEB0E35.C0077C5@domain.com> Date: Sat, 14 Jun 2003 13:59:49 +0200 From: User Domain
To: a414@sedacon.com (Marc Andre Selig) Subject: Testmail Hallo! From a414@sedacon.com Sat Jun 14 14:48:14 2003 Date: Sat, 14 Jun 2003 14:48:14 +0200 From: a414@sedacon.com To: a414@sedacon.com (Marc Andre Selig) Subject: Noch ein Test Zweite Testmail.
Ein offensichtliches Problem tritt auf, wenn im Body der Mail eine Zeile mit "From" beginnt. In deutschsprachigen Mails wird das nicht besonders häufig der Fall sein; im Englischen ist die Wahrscheinlichkeit dafür wesentlich höher. Solch eine Zeile würde als Trenner zwischen zwei E-Mails interpretiert. Der Mail-Client würde (vermutlich vergeblich) versuchen, die folgenden Zeilen als Header zu lesen. Ein Angreifer könnte auf diese Weise sogar versuchen, gefälschte Mails in anderer Post in einen elektronischen Briefkasten zu schmuggeln.
Damit das nicht passiert, müssen bei der Verwendung von Mailbox-Files alle "From"-Zeilen aus dem Body einer Mail verschwinden. Die meisten Mail Delivery Agents fügen in solch einem Fall ein Größer-als-Zeichen an den Anfang der Zeile ein, ersetzen also "From" durch ">From".



