Der Begriff „Archiv“ wird in der Dokumentation als Oberbegriffe für die archivierten und durchsuchbaren E-Mails benutzt. Er bezieht sich nicht auf einen speziellen Teil des Systems.
In der Konfiguration wird das Tag <archive /> aus Gründen der Rückwärtskompatibilität mitgeführt, dient aber nicht zur logischen Strukturierung einer Installation.
Die Begriffe Mandant und Container können auf abstrakter Ebene synonym benutzt werden. Der Mandant bezeichnet den Kunden und die logische Einheit, während der Container auf technischer Ebene eine abgegrenzte Einheit darstellt.
Die Filesystem-Struktur eines Benno MailArchiv Systems in der Standard-Konfiguration:
Die Inbox ist die generische Imort-Schnittstelle von Benno MailArchiv.
Sie ist als Spool-Verzeichnis implementiert, aus dem der Archivierungdaemon die zu importierenden E-Maildateien in das Archiv importiert. In der Standard-Konfiguration (/etc/benno/benno.xml
) ist der Pfad /srv/benno/inbox
konfiguriert.
Wichtig ist hier, daß der Benutzer „benno“ und die Gruppe „benno“ auf diesen Pfad lesen und schreiben können. Die Dateien müssen "atomar" in der Inbox gespeichert werden.
Das Archiv definiert einen logischen Kontext für die Archvierung der E-Mails. Einem Archiv ist eine Inbox zugeordnet, in die E-Mails z.B. von einem einzelnen Mailserver eingeliefert werden.
Ein Archiv enthält einen oder mehrere Container.
Der Container definiert eine in sich abgeschlossene Archiv-Komponente. Ein Container enthält archivierte E-Mails sowie einen Index über die Inhalte dieser E-Mails.
Der Zugriff bei der Suche oder dem Export erfolgt immer über die Angabe des Namens (<identifier />) des Containers. Der Identifier des Containers darf die folgenden ASCII-Zeichen enthalten.
Bei der Authentisierung am Web-UI wird der Container mit dem Schlüsselwort ARCHIVE übermittelt.
Bei Import kann für den Container festgelegt werden, welche E-Mails (Sender / Empfänger Domains oder Adressen) im jeweiligen Container archiviert werden sollen.
Die Pfade für die Speicherung des Indexes sowie der archivierten E-Mails werden in der Konfigurationsdatei festgelegt. In der Voreinstellung liegen Index und Repo unterhalb von /srv/benno/archive
.
/srv/benno/archive/index
/srv/benno/archive/repo
Das Repository ist eine Verzeichnisstruktur in der die E-Mails in einer Trie-Struktur abgelegt werden.
Die E-Mail Dateien werden dabei in einem erweiterten .eml-Format gespeichert.
Die Box beinhaltet Repository (Dateiablage) und Journal. Eine Box kann z.B. nach 10 Jahren gelöscht werden. Allerdings ist dann ein Re-Index notwendig.
Das Journal besteht aus verketteten Logdateien in denen der Speicherzeitpunkt und die Checksumme der einzelnen E-Mails vermerkt sind. Mit Hilfe der Checksummen kann die Integrität der E-Mails geprüft werden. Zusätzlich werden alle Logdateien werden über Checksummen miteinander verkettet.