Benutzer-Werkzeuge

Webseiten-Werkzeuge


error-mails

Verarbeitung der E-Mails beim Import

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.

Sobald die E-Mail erfolgreich im Repository gespeichert wurde, wird sie aus dem Inbox-Verzeichnis gelöscht.

Verarbeitungsfehler

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.

Fehler beim Indexieren

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.

Reimport fehlerhafter E-Mails

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.

Löschverhalten nach Import

Für Tests oder andere Sonderfälle kann das Verhalten des Imports angepasst werden, so daß die E-Mail Dateien nicht, oder nur nach erfolgreicher Archvierung aus dem Inbox-Verzeichnis gelöscht werden.

Dieser Modus wird mit Hilfe des Kommandozeilenschalters -d <modus> bzw. –delete <modus> des Benno Archive Daemons aktiviert.

Modus Beschreibung Verhalten bei Erfolg Verhalten bei Fehlern
ALL Standardmodus. Löscht alles, was erfolgreich „erledigt“ wurde. Datei wird gelöscht. Datei bleibt als .prc liegen (wird nicht mehr verarbeitet).
ASSIGNED Löscht nur tatsächlich archivierte Mails. Datei wird gelöscht. Datei wird in .kep umbenannt.
NEVER Es werden niemals Dateien gelöscht. Datei wird in .kep umbenannt. Datei wird in .kep umbenannt.

Hinweis zu Fehlern: Unabhängig vom gewählten Modus werden Dateien, bei denen ein technischer Fehler während des Parsens oder der Archivierung auftritt, immer in .err umbenannt, um eine spätere Analyse zu ermöglichen.

Konfiguration

Die grundlegende Start-Konfiguration des Benno Archive Daemons wird mit Hilfe der Datei /etc/default/benno-archive gesteuert. Hier wird der Parameter DAEMON_ARGS entsprechend erweitert.

START_ARCHIVE=yes
JAVA_OPTIONS=' -server '
 
DAEMON_ADDRESS='127.0.0.1'
DAEMON_PORT='2555'
 
#DAEMON_ARGS='-c /etc/benno/benno.xml'
DAEMON_ARGS='-c /etc/benno/benno.xml --delete NEVER'
 
USER=benno
error-mails.txt · Zuletzt geändert: 2026/01/08 07:42 von lwsystems