mbox(5) Benutzerhandbucher mbox(5) BEZEICHNUNG mbox - Format fur die Speicherung von E-Mail-Nachrichten BESCHREIBUNG Dieses Dokument beschreibt das traditionell von Unix-Rechnern zum lokalen Speichern von E-Mail-Nachrichten verwendete Format. mbox-Dateien befinden sich typischerweise im E-Mail-Spool des Systems, unter verschiedenen Namen in den E-Mail-Verzeichnissen des Benutzers und unter dem Namen mbox in den Home-Verzeichnissen der Benutzer. Eine mbox ist eine Textdatei, die eine beliebige Anzahl von E-Mail-Nachrichten enthalt. Jede Nachricht besteht aus einem Stempel, dem eine gemass RFC822, RFC2822 formatierte E-Mail-Nachricht folgt. Das Dateiformat ist zeilenorientiert. Zeilen werden durch Zeilenvorschubzeichen (ASCII 10) getrennt. Eine Stempelzeile besteht aus den vier Zeichen >>From<<, denen ein Leerzeichen folgt, und diesem wiederum die Umschlag-Absenderadresse, darauf ein Leerzeichen und zuletzt ein Zeitstempel. Diese Zeile wird oft >>From<<-Zeile genannt. Fur die Absenderadresse wird erwartet, dass sie dem in RFC2822 3.4.1 definierten addr-spec entspricht. Das Datum muss date-time entsprechen, wie es von asctime(3) ausgegeben wird. Aus Grunden der Kompatibilitat zu veralteter Software sollten zweistellige Jahreszahlen grosser oder gleich 70 als die Jahre von 1970 und danach interpretiert werden, wahrend zweistellige Jahreszahlen kleiner als 70 als die Jahre von 2000 bis 2069 interpretiert werden. Software, die Dateien in diesem Format liest, sollte auch darauf ausgelegt sein, eine nichtnumerische Zeitzoneninformation wie >>CET DST<< (mitteleuropaische Sommerzeit) zu akzeptieren. Beispiel: >From example@example.com Fri Jun 23 02:56:55 2000 Um in Nachrichtenkorpern Falschinterpretationen von Zeilen zu vermeiden, die mit den vier Zeichen >>From<< beginnen, gefolgt von einem Leerzeichen, muss das E-Mail-Auslieferungsprogramm (MDA) jedes Vorkommen von >>From << am Anfang einer Zeile im Nachrichtenkorper als Zitat formatieren (in Anfuhrungszeichen setzen). Es gibt zwei unterschiedliche Zitierschemata, das erste (MBOXO) zitiert nur einfache >>From <<-Zeilen im Nachrichtenkorper, indem es ein >>><< der Zeile voranstellt; das zweite (MBOXRD) zitiert auch >>From <<-Zeilen, durch Voranstellen eines >>><< (d.h. >>>From <<, >>>>From <<, ). Letzteres hat den Vorteil, dass bei Zeilen wie >From the command line you can use the '-p' option das Zitat nicht falsch ausgehoben wird, da ein MBOXRD-MDA die Zeile vor dem Speichern in >>From the command line you can use the '-p' option umwandeln wurde. Neben MBOXO und MBOXRD gibt es auch noch MBOXCL, was MBOXO mit einem "Content-Length:"-Feld ist, das die Anzahl der Bytes im Nachrichtenkorper angibt. Einige MUAs (wie mutt(1)) wandeln MBOXO-Mailboxen immer beim Zuruckschreiben automatisch in MBOXCL-Mailboxen um, da MBOXCL von jedem MBOXO-MUA problemlos gelesen werden kann. Falls die Anderungszeit (ublicherweise durch stat(2) ermittelt) einer nicht leeren mbox-Datei neuer als die Zugriffszeit der Datei ist, dann liegen neue Nachrichten vor. Viele MUAs setzen eine >>Status:<<-Kopfzeile in jede Nachricht, um anzuzeigen, welche Nachrichten bereits gelesen wurden. SPERREN Da auf mbox-Dateien haufig von mehreren Programmen parallel zugegriffen wird, sollte der Zugriff auf diese Dateien generell nicht ohne Sperrung erfolgen. Allgemein werden drei Sperrmechanismen (und Kombinationen davon) verwendet: o Das Sperren mit fcntl(2) wird zumeist auf aktuellen, POSIX-konformen Systemen verwendet. Die Nutzung dieser Sperrmethode ist insbesondere bei mbox-Dateien ratsam, auf die uber das Network File System (NFS) zugegriffen wird, da es die einzige Moglichkeit zu sein scheint, die Zwischenspeicher von NFS-Clients zuverlassig fur ungultig zu erklaren. o Das Sperren mit flock(2) wird meist auf BSD-basierten Systemen verwendet. o >>Dotlocking<< wird auf allen Systemtypen verwendet. Um beispielsweise eine mbox-Datei namens Mail-Ordner zu sperren, legt eine Anwendung zunachst eine temporare Datei mit einem eindeutigen Namen in dem Verzeichnis an, indem sich die Datei Mail-Ordner befindet. Die Anwendung versucht dann, mit dem Systemaufruf link(2) einen harten Link namens Mail-Ordner.lock zu erstellen, der auf die temporare Datei zeigt. Der Erfolg des Systemaufrufs link(2) sollte zusatzlich mit stat(2)-Systemaufrufen verifiziert werden. Falls der Link erfolgreich erstellt wurde, wird der Mail-Ordner als >>dotlocked<< betrachtet. Der Link zur temporaren Datei kann daraufhin sicher entfernt werden. Um die Sperre aufzuheben, entfernt eine Anwendung einfach die Datei Mail-Ordner.lock. Wenn mehrere Methoden kombiniert werden, sollte bei der Implementierung sichergestellt werden, dass die nicht blockierenden Varianten der Systemaufrufe fcntl(2) und flock(2) verwendet werden, um tote Verklemmungen zu vermeiden. Wenn mehrere Methoden kombiniert werden, darf eine mbox-Datei nicht als erfolgreich gesperrt betrachtet werden, bevor nicht alle einzelnen Sperren wirksam sind. Wenn eine der einzelnen Sperrmethoden scheitert, sollte eine Anwendung alle Sperren aufheben, die sie erfolgreich angewendet hat und mit dem gesamten Sperrvorgang nach einer angemessenen Wartezeit von vorn beginnen. Der Sperrmechanismus auf einem bestimmten System ist eine Sache der lokalen Regeln und sollte konsistent von allen auf dem System installierten Anwendungen genutzt werden, die auf mbox zugreifen. Erfolgt dies nicht, dann kann dies zum Verlust von E-Mail-Daten und beschadigten mbox-Dateien fuhren. DATEIEN /var/spool/mail/$ANMELDENAME Ordner fur eingehende Nachrichten des Benutzers mit dem angegebenen $ANMELDENAMEN. $HOME/mbox Archivierte E-Mails des Benutzers in seinem $HOME-Verzeichnis. $HOME/Mail/ Ein Verzeichnis im $HOME-Verzeichnis des Benutzers, welches haufig zum Speichern von Ordnern im mbox-Format verwendet wird. SIEHE AUCH mutt(1), fcntl(2), flock(2), link(2), stat(2), asctime(3), maildir(5), mmdf(5), RFC822, RFC976, RFC2822 AUTOR Thomas Roessler , Urs Janssen GESCHICHTE Das mbox-Format erschien in Version 6 von AT&T Unix. Eine Variante dieses Formats wurde in RFC976 dokumentiert. UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Unix 19. Februar 2002 mbox(5)