Nachdem die zu importierenden E-Mails wie hier beschrieben in die Inbox von Benno MailArchiv kopiert wurden, werden sie vom Benno Archive Daemon eingelesen. Hierbei wird eine Analyse der Header vorgenommen sowie die Checksumme der E-Mail berechnet. Aus der Checksumme leitet sich der Dateiname ab, unter der die E-Mail gespeichert wird.
Die E-Mail wird jetzt im Repository-Verzeichnis unterhalb von /srv/benno/archive/boxname
gespeichert. Der Boxname ist in der Standard-Installation jeweils das aktuelle Jahr.
Falls es bei der Verarbeitung einer E-Mail zu einem Fehler kommt, wird dieser intern abgefangen und im Log vermerkt. Die zu importierende E-Mail in der Inbox wird unbenannnt und bekommt die Endung .err. Eine zu importierende E-Mail wird direkt nach dem Einlesen im Repository gespeichert. Daher ist eine fehlerhafte E-Mail in der Regel schon im Repository gespeichert, wenn der Fehler festgestellt wird. Aus Sicherheitsgründen kann Benno MailArchiv keine E-Mail aus dem Repository löschen, so dass die E-Mail im Fehlerfall in der Regel zweifach vorhanden ist.
Nachdem die E-Mail im Repository abgelegt wurde, wird der durchsuchbare Text aus der E-Mail und den Anhängen extrahiert. Diese Analyse wird mit Hilfe der Apache Bibliothek Tika durchgeführt. Tika bietet ausschließlich eine high-Level Schnittstelle zur Analyse von E-Mail an. Die gesamte E-Mail wird über die Schnittstelle an Tika übergeben. Tika liefert dann einen Token-Strom, der in Apache Lucene indexiert wird. Im Falle von fehlerhaften Anhängen in der E-Mail bricht Apache Tika die Text-Extraktion insgesamt ab und gibt einen Fehler zurück. Benno MailArchiv erkennt das Problem und benennt die E-Mail in der Inbox nach .err um, so dass die E-Mail auf keinen Fall verloren geht und das Problem auffällig dokumentiert ist.
Ab Version 2.1.0 von Benno MailArchiv wurde die Anbindung von Apache Tika robuster gestaltet. Jetzt wird die E-Mail vor der Analyse von Apache Tika in ihre Bestandteile (Mail-Body und einzelne Anhänge) zerlegt. Diese Teile werden dann einzeln von Apache Tika analysiert. Falls ein fehlerhafter Anhang erkannt wird, wird dieses im Logfile vermerkt und der nächste Anhang indexiert. Somit ist gewährleistet, dass ein größtmöglicher Teil der E-Mail indexiert wird und somit auch durchsucht werden kann.
Ab Benno MailArchiv 2.1.6 können die fehlhaften E-Mails direkt reimportiert werden indem sie noch einmal in das Inbox-Verzeichnis geschoben werden. Beim Importieren überprüft der Archiver, ob die Checksumme schon im Repository vorhanden ist. In diesem Fall wird der zugehörige Eintrag im Index durch die neu eingelesenen Daten ersetzt.
Wenn die Dateiendung in .eml umbenannt wird, werden die E-Mails erneut importiert.