Was in der Inbox den Spam-Zähler um ein paar Zehntelpunkte erhöht, erweist sich als außerordentlich praktisch, um elektronische Post zu archivieren: das HTML-Format. Mit Hypermail fassen Sie Nachrichten in übersichtliche Archive zusammen und schaffen Platz in Ihren Mail-Ordnern.
Wer viele Kontakte per Mail pflegt oder gar Mailing-Listen abonniert hat, kennt das Problem: Die Mailbox quillt über, und trotz mehreren Ordnern finden Sie kaum etwas Wichtiges auf Anhieb. Eigentlich könnten Sie einmal richtig ausmisten und alte Nachrichten löschen. Das verhindert der Sammlerdrang – fast jeder hortet jahrealte Postkarten und Briefe seiner Lieben. Selbst wer nicht mit “Jäger-und-Sammler”-Genen vorbelastet ist, hat daheim mindestens einen Ordner mit Schriftstücken von Behörden, Banken und Versicherungen. So wie die alte Briefpost nicht immer griffbereit auf der Flurkommode liegt, sondern in Schubladen, Heftern und Aktenordnern verschwindet, lohnt es sich, auch alte E-Mails zu archivieren, zum Beispiel mit Hypermail von http://www.hypermail.org.
Das Programm erzeugt aus mbox-Dateien für jede Mail genau ein HTML-Dokument (Abbildung 1). Es enthält Verweise auf die vorherige Nachricht und die Antworten, die Sie auf eine Mail bekommen haben. Anhänge packt das Programm in Unterordner und setzt einen passenden Link in die HTML-Datei. Damit Sie auf Anhieb die richtige Mail finden, erstellt Hypermail mehrere Indexseiten. Auf diesen sortiert es die Nachrichten nach dem Betreff, dem Autor (Abbildung 2), dem Datum und nach Thread. Zusätzlich generiert Hypermail die Datei attachment.html. Dort finden Sie eine Liste aller Mail-Anhänge. So schaffen Sie Übersicht in Ihren Mail-Ordnern und haben über einen Browser trotzdem Zugriff auf alte Nachrichten.

Abbildung 1: Von Hypermail archivierte Mails enthalten den Nachrichtentext, ausgewählte Kopfzeilen und Verweise auf die vorherige und nächste Mail der Diskussion.

Abbildung 2: Hypermail erzeugt unter anderem einen Index, der die elektronische Post alphabetisch nach dem Autor sortiert.
Paket oder Handarbeit
Bei einigen Distributionen – wie Suse Linux Professional, dem Mandrake Power Pack oder Debian – gehört Hypermail schon zum Lieferumfang. Spielen Sie das Paket einfach über das Installationsprogramm der Distribution ein. Wer eine andere Distribution verwendet oder die aktuellste Version als Mail-Archivar beschäftigen möchte, greift zum Quellcode und übersetzt Hypermail selbst. Das Source-Archiv finden Sie entweder auf der Homepage des Projekts oder auf unserer Heft-CD. Die Anwendung ist genügsam: Sind die Pakete gcc, make und glibc-devel auf Ihrem System vorhanden, kompilieren und installieren Sie Hypermail mit den Befehlen ./configure, make und su -c "make install". Das Programm und seine Dateien kopiert der make install-Aufruf in die Verzeichnisse unterhalb von /usr/local.
Eine Frage des Formats
Als Eingabedatei akzeptiert Hypermail nur das mbox-Format. Was es damit auf sich hat, und wie Sie ein Mail-Format in ein anderes umwandeln, erfahren Sie im Artikel auf Seite 24 dieser Ausgabe. Manche Mail-Programme – wie Evolution und Mozilla – verwenden standardmäßig mbox-Dateien, um E-Mails zu speichern. Bei diesen Anwendungen reicht es aus, einen separaten Ordner für die zu archivierenden Nachrichten anzulegen. Die mbox-Datei heißt ebenso wie der Ordner im Mail-Programm. Bei Mozilla finden Sie sie unterhalb des Profilordners ~/.mozilla/default/xxxxxxx/Mail. Die xxxxxxx stehen für die zufällige Zeichenfolge, mit der Mozilla das Profil benennt. Dort liegt ein Verzeichnis mit dem Namen des Mail-Kontos, in dem Mozilla die einzelnen mbox-Dateien ohne Dateiendung speichert. Evolution verwahrt Ihre Post im Ordner ~/.evolution.
Auch wenn Ihr Mail-Programm Nachrichten in einem anderen Format verwaltet, bietet es trotzdem oft die Option, einen mbox-Ordner anzulegen oder zumindest eine Exportfunktion in dieses Format. KMail fragt beispielsweise beim Anlegen eines neuen Ordners nach dem gewünschten Format (Abbildung 3) und speichert ihn unterhalb des Verzeichnisses ~/Mail. Sylpheed-Nutzer greifen zur Funktion Exportiere in Mbox-Datei im Datei-Menü. Den Speicherort für die zu exportierenden Mails legen Sie im folgenden Dialog fest.
Schnellstart
Ist Hypermail installiert, erstellen Sie mit dem Befehl
hypermail -m mailbox -d ausgabeverzeichnis
das erste Mail-Archiv. Hinter -m geben Sie den Pfad zur mbox-Datei an. Auf den Parameter -d folgt der Ordner, in dem Hypermail das Archiv erstellt. Dieses Verzeichnis müssen Sie nicht vorher anlegen, das erledigt der Mail-Archivar automatisch. Sobald das Programm seine Arbeit beendet hat, finden Sie im Ausgabeverzeichnis die in HTML konvertierten Mails und die Indexdateien. In der index.html steht standardmäßig die Thread-Liste. Klicken Sie einen der Links an, kommen Sie zur jeweiligen Maili. Oder aber Sie wechseln zu einem der anderen Indizes (Autor, Datum, Absender oder Anhänge).
Möchten Sie statt der englischsprachigen HTML-Seiten lieber eine deutschsprachige Navigation verwenden, erreichen Sie das mit dem Aufrufparameter -L, gefolgt von dem passenden Sprachkürzel:
hypermail -L de -m mailbox -d ordner
stellt die Sprache auf Deutsch um. Außerdem beherrscht Hypermail unter anderem Italienisch (it), Russisch (ru) und Spanisch (es). Eine vollständige Liste der unterstützten Sprachen erhalten Sie mit dem Aufrufparameter -h. Er zeigt in der mit -L beginnenden Zeile alle gültigen Sprachkürzel an.
Auf den Indexseiten steht in der Überschrift der Archivname – Hypermail setzt dort den Namen der mbox-Datei ein. Einen individuellen Namen vergeben Sie mit dem Kommandozeilenschalter -l gefolgt vom Namen. Wollen Sie mehrere Mailboxen zu einem HTML-Archiv zusammenfassen, müssen Sie Hypermail nicht mehrmals starten: Übergeben Sie dem Programm hinter dem Parameter -m einfach mehrere mbox-Dateien. Auch das spätere Hinzufügen von E-Mails zu einem Archiv beherrscht Hypermail. Mit dem Parameter -u geben Sie ein Update in Auftrag.
hypermail -u -m neuebox -d ordner
integriert die Mails aus neuebox in das Archiv im Verzeichnis ordner. Dabei bringt Hypermail auch die Indexdateien auf den neuesten Stand.
Maßgeschneiderte Archive
Wollen Sie auch selbst verfasste Mails aus dem Postausgangsordner in das Archiv integrieren und generiert Ihr Mail-Programm keine Message-ID, klappt das in der Standardeinstellung jedoch nicht. Sie erhalten die Meldung Message-ID is missing, ignoring message with subject ‘Betreff’-o require_msgids=0 bringen Sie Hypermail dazu, auch solche Nachrichten zu verarbeiten. -o steht für options, von denen das Programm recht viele kennt. Eine komplette Liste erhalten Sie mit dem Befehl man hmrc.
Interessant bei großen Mailboxen sind vor allem die Optionen monthly-index=1 und folder_by_date. Die erste bewirkt, dass Hypermail in die index.html eine Übersicht schreibt, die auf alle Monatsindizes verweist (Abbildung 4). Das kommt der Geschwindigkeit zugute, denn bei mehreren tausend Nachrichten wächst eine vollständige Indexdatei schnell auf 10 MByte an. Eine Monatsübersicht hat der Browser dagegen schnell geladen. Mit dieser Option aufgerufen, landen jedoch immer noch alle HTML-Dateien in einem Ordner. Um die Dateien in mehrere Monatsordner zu verteilen, kennt Hypermail die Option folder_by_date. Kombiniert mit einem Monatsindex sieht der Aufruf so aus:
hypermail -m mbox -d ordner -o monthly-index=1 -o folder_by_date=%y%m
Das %y%m ist ein so genannter Format-String. Das %y steht für das Jahr, %m für den Monat aus dem die Nachricht stammt. Mit diesem Befehl erstellt Hypermail im Ausgabeverzeichnis Unterordner mit Namen wie 0312. Darin liegen die E-Mails des Monats Dezember aus dem Jahr 2003. Soll stattdessen der Monat am Anfang stehen, drehen Sie den Format-String einfach um: folder_by_date=%m%y
Planen Sie die Archive auf einem Webserver zu veröffentlichen, etwa um Mitgliedern einer Mailing-Liste eine Recherchemöglichkeit zu offerieren, leistet der Parameter -o spamprotect=1 gute Dienste. Er sorgt dafür, dass Hypermail die Mail-Adressen verändert. Statt name<\@>domain schreibt das Programm name_at_domain. Das erschwert es Spammern, an weitere Opferadressen zu kommen. Was Hypermail anstelle des <\@>-Zeichens einträgt, legen Sie selbst über -o antispam_at=ersatzzeichen fest.
Weitere Komfort-Features bietet das Programm bei der Darstellung zitierten Textes. Soll sich der zitierte Teil nicht nur durch die Zitatzeichen (meistens <\>>), sondern auch optisch von dem Text des Absender abheben, stellen Sie mit -o iquotes=1 eine kursive Schrift für Zitate ein. Ebenso praktisch ist der Aufrufparameter -o linkquotes=1. Mit dieser Option macht Hypermail aus dem ersten zitierten Satz einen Link, über den Sie direkt zur Ursprungsnachricht gelangen.
Tipparbeit ade
Die Optionsvielfalt hat einen Nachteil: Kaum jemand kann sich alle Aufrufparameter merken. So steht an jedem Archivierungstag erneut ein Blick in die Manpage an. Haben Sie “Ihre” Optionen gefunden, müssen Sie sie dem Programm nicht jedesmal erneut auf der Kommandozeile übergeben. Beim Start liest Hypermail die Datei .hmrc in Ihrem Home-Verzeichnis. Dort legen Sie nicht nur fest, welche Kopfzeilen Sie sehen wollen und ob Sie Wert auf Monatsordner legen: Es ist auch Platz für den Pfad zur Mailbox-Datei. Die einzelnen Optionen bestimmen Sie ebenso, wie bei einem Kommandozeilenaufruf hinter dem Parameter -o. So bewirkt der Eintrag
require_msgids=0
dass Hypermail auch Nachrichten ohne Message-ID archiviert. Kommandozeilenoptionen haben immer Vorrang vor den Einträgen in der .hmrc. Legen Sie dort eine Default-Mailbox fest, überschreiben Sie diese Direktive jederzeit mit dem Aufrufparameter -m gefolgt von der Eingabedatei. Listing 1 zeigt ein Beispiel für eine .hmrc. Die mit einer Raute beginnenden Kommentarzeilen erläutern die einzelnen Optionen.
Listing 1
. Optionen in der ~/.hmrc
#deutschsprachige Seiten erzeugen language=de #europäisches Datumsformat eurodate=1 #Standard-Mailbox mbox=/home/andi/archiv #Links für zitierten Text linkquotes=1 #Monatsordner anlegen folder_by_date=%y%m #Kopfzeilen anzeigen showheaders=1 #Kopfzeilen, die Hypermail einblenden soll show_headers=From,To,Subject,Date,Message-ID,User-Agent,X-Mailer,X-Newsreader #Zitate in kursiver Schrift iquotes=1 #Mails mit der Kopfzeile X-Hypermail-Deleted nicht archivieren deleted=X-Hypermail-Deleted #keinen mailto-Link mailto=none #Monats-Index erstellen monthly_index=1
Wenn Sie regelmäßig Ordnung schaffen, wartet als Lohn ein wesentlich schnelleres und übersichtlicheres Mail-Programm. In alten Nachrichten stöbern stöbern Sie jederzeit bequem mit dem Browser Ihrer Wahl. Die von Hypermail erstellten Indizes machen selbst in Text-Browsern wie links eine gute Figur. Belegen die Archive zu viel Festplattenplatz, brennen Sie die Hypermail-Ordnerhierarchie einfach auf CD.
Glossar
- mbox
- Bei diesem Format speichert das Mail-Programm alle Nachrichten in einer Datei. Das Öffnen großer mbox-Ordner geht auf Kosten der Geschwindigkeit, da der Mail-Client die ganze Datei laden muss.
- Thread
- Diskussionsfaden einer Mail-Konversation, bei dem die Ursprungs-Mail und die Antworten darauf in einer Baumansicht erscheinen. Man unterscheidet zwischen Threading nach Betreff und Threading nach References. Den Diskussionsfaden nach den References aufzubauen, dauert länger, erzeugt aber zuverlässigere Ergebnisse. Die Methode verhindert, dass alle Mails mit dem Betreff “Hallo” einer Diskussion zugeordnet werden.
- Message-ID
- Eine eindeutige Nummer im Kopfteil einer E-Mail, die sich aus einem zufälligen lokalen Teil, dem <\@>-Zeichen und dem Domain-Teil zusammensetzen soll. Eine Message-Id könnte etwa abcdefghijkl<\@>meinedomain.de lauten. Die Einzigartigkeit ist hauptsächlich im Usenet wichtig, da die meisten Newsserver E-Mails mit einer schon einmal vergebenen Message-ID nicht annehmen.






