User tools

Website tools


configuration

This is an old version of the document!


configuration

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.

Basic configuration

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

For both files, care should be taken to ensure that, in the case of /etc/benno/benno.xml, it is readable only by the user "benno" and in the case of /etc/benno-web/benno.conf, only by the user of the web server (e.g. "www-data" or "wwwrun").

Special settings

Archive only external emails

Regular expressions

If only external emails are to be archived, configuration via regular expressions is recommended. This method archives only those emails where the sender address or at least one recipient address does not belong to the local domain.

<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.

Filter email addresses

Archive individual addresses

Achtung! Das „;“ ist laut RFC2822 und RFC2822 kein Trenner einzelner Adressen, sondern dient in Verbindugn mit dem „:“ dazu eine Gruppe einzuklammern.

If only individual addresses are to be archived, the “<not /> Tags omitted.

<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.

In addition to the option of filtering by individual addresses, this can also be done based on the domain. The following criteria are possible:

  • <address />
  • <domain />

The individual tags can be linked using the linking operators.<and /> ,<or /> and<not /> be connected.

Exclude addresses

In some cases, it is necessary to exclude emails sent to specific addresses (e.g., the works council's email addresses) from the archive. For this purpose, a corresponding filter is defined in the /etc/benno/benno.xml file within the container's configuration.

...
<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>
    ...

Emails from or to the addresses bewerbungen@lw-systems.net or bewerbungen@lw-systems.com not be included in the archive.

Domain with exclusion of individual addresses

...
<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>

General linking of the criteria

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>

Envelope header

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.

If the information is stored in the email using a header, Benno MailArchiv can evaluate this information. The configuration is done in the benno.xml file.

             <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.

<secretheaders />

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.

Simplified checksum

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.

konfiguration.1700740345.txt.gz · Zuletzt geändert: 2023/11/23 11:52 von lwsystems