Die Konfiguration der Archivierung (benno-archive) wird in der Datei /etc/benno/benno.xml vorgenommen, während die Einstellungen für das Web-Interface (benno-web) in der Datei /etc/benno-web/benno.conf erfolgt.
Für ein lauffähiges System muss nach der Installation ausschließlich das Passwort für die Kommunikation zwischen Benno REST und Benno Web gesetzt werden. In der Datei /etc/benno/rest.secret wird das Passwort in die erste Zeile eingegeben.
echo 'verySecretAndSecurePassword' > /etc/benno/rest.secret history -c chown benno.benno /etc/benno/rest.secret chmod 0440 /etc/benno/rest.secret
Für das Web-Interface wird es in der Datei /etc/benno-web/rest.conf als Parameter SHARED_SECRET = … eingetragen.
echo 'SHARED_SECRET = wholeSecretAndSecurePassword' > /etc/benno-web/rest.conf history -c chgrp www-data /etc/benno-web/rest.conf chmod 0440 /etc/benno-web/rest.conf
В отношении обоих файлов следует позаботиться о том, чтобы в случае /etc/benno/benno.xml он был доступен для чтения только пользователю "benno", а в случае /etc/benno-web/benno.conf — только пользователю веб-сервера (например, "www-data" или "wwwrun").
Если архивировать нужно только внешние электронные письма, рекомендуется использовать регулярные выражения для настройки. Этот метод архивирует только те письма, в которых адрес отправителя или хотя бы один адрес получателя не принадлежит локальному домену.
<simplecontainer> <identifier>BennoContainer</identifier> <conditions> <domain sender="true" recipient="true" regex="true">(?i)^((?!\blw-systems\.net\b).)*$</domain> </conditions> ...
ACHTUNG Das (?i) zu Beginn des regulären Ausdrucks bewirkt, daß der Pattern-Match case-insensitiv erfolgt! Dieses betrifft nur ASCII-Zeichen. Der erweiterte Zeichenraum der Unicode-Zeichen wird mit „(?u)“ Case-Insenstive geschaltet. Dieses ist hier aber nicht notwendig, da E-Mail Adressen nur aus dem ASCII-Zeichenraum gebildet werden.
Achtung! Das Semikolon „;“ ist laut RFC2822 und RFC2822 kein Trenner einzelner Adressen, sondern dient in Verbindugn mit dem „:“ dazu eine Gruppe einzuklammern.
Если архивированию подлежат только отдельные адреса, то «<not /> Теги опущены.
<simplecontainer> <identifier>BennoContainer</identifier> <conditions> <or> <address sender="true" recipient="true" from="true" to="true" cc="true">buchhaltung@lw-systems.net</address> <address sender="true" recipient="true" from="true" to="true" cc="true">buchhaltung@lw-systems.com</address> </or> </conditions> ...
Die Bedingungen innerhalb des <address />-Tags sind per OR verknüpft.
Помимо фильтрации по отдельным адресам, это также можно сделать по домену. Возможны следующие критерии:
Отдельные теги можно связать с помощью операторов связывания.<and /> ,<or /> и<not /> быть на связи.
В некоторых случаях необходимо исключить из архива электронные письма, отправленные на определенные адреса (например, адреса электронной почты производственного совета). Для этой цели в файле /etc/benno/benno.xml в конфигурации контейнера определяется соответствующий фильтр.
... <simplecontainer> <identifier>BennoContainer</identifier> <conditions> <not> <or> <address sender="true" recipient="true" from="true" to="true" cc="true">bewerbungen@lw-systems.net</address> <address sender="true" recipient="true" from="true" to="true" cc="true">bewerbungen@lw-systems.com</address> </or> </not> </conditions> ...
Электронные письма, отправленные с адресов bewerbungen@lw-systems.net или bewerbungen@lw-systems.com , не будут включены в архив.
... <conditions> <and> <or> <domain sender="true" recipient="true" from="true" to="true" cc="true">lw-systems.com</domain> <domain sender="true" recipient="true" from="true" to="true" cc="true">lw-systems.net</domain> </or> <not> <or> <address sender="true" recipient="true" from="true" to="true" cc="true">betriebsrat@lw-systems.com</address> <address sender="true" recipient="true" from="true" to="true" cc="true">betriebsrat@lw-systems.net</address> </or> </not> </and> </conditions>
Die Kriterien sind generell per <OR> verknüft. Das heißt, bei einer Konfiguration wie hier aufgeführt, werden alle E-Mails archiviert.
Die <not /> Bedingung greift in diesem Fall nicht, da sie mit <all /> per ODER verknüpft ist!
<conditions> <all /> <not> <or> <domain>srv123.nordregen.de</domain> <domain>srv456.nordregen.de</domain> </or> </not> </conditions>
Eine E-Mail kann unter Umständen nicht alle Informationen über die E-Mail enthalten. Die BCC-Empfänger einer E-Maill werden unter Umständen nur im SMTP Protokoll durch die Envelope-Informationen übermittelt.
Если информация хранится в электронном письме с использованием заголовка, Benno MailArchiv может её обработать. Настройка выполняется в файле benno.xml.
<mailfile> <senderheaders> <name>X-REAL-MAILFROM</name> <name>RECIPIENT-FROM</name> <name>From</name> </senderheaders> <recipientheaders> <name>X-REAL-RCPTTO</name> <name>RECIPIENT-TO</name> <name>BCC</name> <name>To</name> <name>Cc</name> </recipientheaders> <secretheaders> <name>X-REAL-MAILFROM</name> <name>RECIPIENT-FROM</name> <name>X-REAL-RCPTTO</name> <name>RECIPIENT-TO</name> <name>BCC</name> <name>SIMPLE-Test-header</name> </secretheaders> </mailfile>
Die Zuordnung von Sender- und Empfängerdaten erfolgt innerhalb der Tags <senderheaders /> bzw. <recipientheaders />.
Ein Benutzer hat auf die E-Mails Zugriff, bei denen einer der Header in <senderheaders /> oder in </recipientheaders /> seine E-Mail Adresse enthält.
Die Konfiguration <secretheades /> dient dazu, die Header zu verbergen, die bei der Archivierung ausschließlich dazu dienen, daß die Envelope-Informationen nicht verloren gehen. Dieses sind z.B. die Envelope-Header, die von benno-milter hinzugefügt werden.
Alle Header, die im Tag <secretheaders /> aufgeführt sind, werden vor Berechnung der Checksumme und dem Speichern aus der E-Mail entfernt. Diese Informationen sind ausschließlich im Index und im Header der Datei im Repository vorhanden.
Die Berechnung dieser Checksumme wird mit dem Tag <customhash /> innerhalb der <mailfile /> Konfiguration eingestellt.
<mailfile> <senderheaders> ... </senderheaders> <recipientheaders> ... </recipientheaders> <secretheaders> ... </secretheaders> <customhash> <name>From</name> <name>To</name> <name>Subject</name> <name>Date</name> <name>Message-Id</name> </customhash> </mailfile>
Im Beispiel wird diese Checksumme über die Header From:, To:, Subject:, Date: und Message-Id gebildet. Die vereinfachte Checksumme bildet die interne Id der archivierten E-Mail und dient zur Duplikatserkennung. Zusätzlich wird hier noch die komplette Checksumme der E-Mail gespeichert.