Benutzer-Werkzeuge

Webseiten-Werkzeuge


benno.xml

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
benno.xml [2019/05/23 12:54] – [monthlyfsbox] lwsystemsbenno.xml [2026/02/27 10:39] (aktuell) lwsystems
Zeile 70: Zeile 70:
     * %%to = "true"%%     * %%to = "true"%%
     * %%cc = "true"%%     * %%cc = "true"%%
 +    * %%regex = "true"%%
   * //%%<domain sender="true" recipient="true">domain</domain>%%// - Vergleicht nur den Domain-Name   * //%%<domain sender="true" recipient="true">domain</domain>%%// - Vergleicht nur den Domain-Name
     * %%sender = "true"%%     * %%sender = "true"%%
Zeile 76: Zeile 77:
     * %%to = "true"%%     * %%to = "true"%%
     * %%cc = "true"%%     * %%cc = "true"%%
 +    * %%regex = "true"%%
  
  
 Alle **nicht** gesetzten Attribute sind per Default auf **true** gesetzt. Alle **nicht** gesetzten Attribute sind per Default auf **true** gesetzt.
  
 +Ein Semikolon ";" ist laut [[https://datatracker.ietf.org/doc/html/rfc822#section-6.2.6|RFC2822]] und [[https://datatracker.ietf.org/doc/html/rfc2822#appendix-A.1.2|RFC2822]] **kein** Trenner einzelner  Adressen, sondern dient in Verbindugn mit dem ":" dazu eine Gruppe einzuklammern.
 ==== not ==== ==== not ====
  
Zeile 85: Zeile 88:
  
  
-<code>+<code xml>
 <conditions> <conditions>
   <not>   <not>
Zeile 95: Zeile 98:
 Hier wird **jede** E-Mail, die die Adresse //blockme@hansen-und-meyer.de// in einem der Sender- oder Empfänger Header enthält nicht archiviert! Dieses Hier wird **jede** E-Mail, die die Adresse //blockme@hansen-und-meyer.de// in einem der Sender- oder Empfänger Header enthält nicht archiviert! Dieses
 ist unabhängig davon, ob die E-Mail per CC an eine Adresse geschickt wurde, die archiviert werden soll. ist unabhängig davon, ob die E-Mail per CC an eine Adresse geschickt wurde, die archiviert werden soll.
 +==== Regex ====
 +
 +
 +''<domain sender="true" recipient="true" regex="true">(?i)^((?!\blw-systems\.net\b).)*$</domain>''
 +
 +Der regläre Ausdruck wird als Java-Regex interpretiert.
 ==== Hinweise ==== ==== Hinweise ====
  
 === Prüfung der Kriterien === === Prüfung der Kriterien ===
  
-Die überprüften Adress-Header werden die eigentlichen Adressen (der Form "personal@domain") extrahiert. Nur dieser String wird mit +Aus den konfigurierten Headern für Senderund Empfänger werden die eigentlichen Adressen (der Form "personal@domain"als Token extrahiert. Nur dieser String wird mit der konfigurierten Adresse verglichen. Vor dem Vergleich werden die "<" und ">" ebenfalls entfernt. Bei der Prüfung wird die Groß- und
-der konfigurierten Adresse verglichen. Vor dem Vergleich werden die "<" und ">" ebenfalls entfernt. Bei der Prüfung wird die Groß- und+
 Kleinschreibung nicht beachtet. Kleinschreibung nicht beachtet.
  
-**Alle** E-Mails der Inbox werden gelöscht! Dieses betrifft auch E-Mails, auf die keines der Kriterien zutrifft.+Die Prüfung der Token erfolgt //einzeln// gegen jeden der konfigurierten logischen Ausdrücke. Bei der Prüfung wird der Zustand (State) der E-Mail nicht gespeichert, so daß keine Entscheidung der Form //WENN abc@domain UND NICHT def@domain// getroffen werden kann. 
 + 
 + 
 +**Alle** E-Mails der Inbox werden gelöscht! Dieses betrifft auch E-Mails, auf die keines der Kriterien zutrifft. Für Testzwecke kann dieses Verhalten mit Hilfe eines Parameters (''[[error-mails#loeschverhalten_nach_import|--delete]]'') beim Start des Dienstes angepasst werden
  
 === Zuordnung === === Zuordnung ===
Zeile 121: Zeile 132:
  
  
-<file> +<file xml
-<directorywatcher directory="/srv/benno/inbox" +<directorywatcher directory="/srv/benno/inbox" pattern=".*\.eml">
-                  pattern=".*">+
   <mailfile>...</mailfile>   <mailfile>...</mailfile>
 </directorywatcher> </directorywatcher>
 </file> </file>
 +
 +==== Attribute ====
  
   * directory - Verzeichnis der Inbox   * directory - Verzeichnis der Inbox
   * pattern - Pattern als RegEx (per [[http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#matches%28java.lang.String%29|string.matches()]])   * pattern - Pattern als RegEx (per [[http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#matches%28java.lang.String%29|string.matches()]])
-  * mailfile - Konfiguration des Parsers ([[#mailfileparser|<mailfile>...</mailfile>]] | [[#bennomailfileparser|<bennomailfile>...</bennomailfile>]])+  * mailfile - Konfiguration des Parsers ([[#mailfile|<mailfile>...</mailfile>]] | [[#bennomailfile|<bennomailfile>...</bennomailfile>]]) 
 +  *   <delete condition="all" />
  
  
Zeile 142: Zeile 155:
 Parser für Standard Mailfiles, eventuell mit zusätzlichen Headern. Parser für Standard Mailfiles, eventuell mit zusätzlichen Headern.
  
-<file>+<file xml>
 <mailfile> <mailfile>
   <senderheaders>   <senderheaders>
Zeile 174: Zeile 187:
 Parser für Bennomailfiles (Mit Envelope Informationenen im zusätzlichen Header und Checksumme) Parser für Bennomailfiles (Mit Envelope Informationenen im zusätzlichen Header und Checksumme)
  
-<file>+<file xml>
 <bennomailfile> <bennomailfile>
   <senderheaders>   <senderheaders>
Zeile 203: Zeile 216:
 ===== luceneindex ===== ===== luceneindex =====
  
-<file>+<file xml>
 <luceneindex version=“LUCENE_36“> <luceneindex version=“LUCENE_36“>
   <directory>/srv/mailarchive/default/index</directory>   <directory>/srv/mailarchive/default/index</directory>
 +  <indexTimeout>120</indexTimeout>
 +  <indexCommitTimeout>60</indexCommitTimeout>
 </luceneindex> </luceneindex>
 </file> </file>
Zeile 211: Zeile 226:
   * version - Lucene-Versionsnummer des Indexes   * version - Lucene-Versionsnummer des Indexes
   * directory - Verzeichnis der Indexdateien   * directory - Verzeichnis der Indexdateien
 +  * indexTimeout - (optional) Timeout für Rückmeldung vom Tokenizer (default: 120 Sekunden) 
 +  * indexCommitTimeout - (optional) Intervall für das Speichern des Index auf dem Datenträger
  
 ===== Boxgenerator ===== ===== Boxgenerator =====
  
-  * [[#singlefsbox]] 
-  * [[#weeklyfsbox]] 
-  * [[#monthlyfsbox]] 
-  * [[#quarterlyfsbox]] 
   * [[#yearlyfsbox]]   * [[#yearlyfsbox]]
  
Zeile 227: Zeile 239:
 Eine einzelne Box wird konfiguriert und verwendet. Eine einzelne Box wird konfiguriert und verwendet.
  
-<file>+<file xml>
 <singlefsbox> <singlefsbox>
   <fshexbennobox>   <fshexbennobox>
Zeile 248: Zeile 260:
 Konfiguration für jährliche Boxerstellung. Der Grundpfad wird in der Beispielkonfiguration der Box angegeben, für die echten Boxen wird jeweils eine Konfiguration mit dem erweiterten Pfad „.../2011/“ erstellt. Damit befinden sich die eigentlichen Boxen in Unterverzeichnissen des in der Beispielkonfiguration angegebenen Pfads. Konfiguration für jährliche Boxerstellung. Der Grundpfad wird in der Beispielkonfiguration der Box angegeben, für die echten Boxen wird jeweils eine Konfiguration mit dem erweiterten Pfad „.../2011/“ erstellt. Damit befinden sich die eigentlichen Boxen in Unterverzeichnissen des in der Beispielkonfiguration angegebenen Pfads.
  
-<file>+<file xml>
 <yearlyfsbox> <yearlyfsbox>
   <Box />   <Box />
Zeile 259: Zeile 271:
 Box in der die Nachrichten im Bennomailformat (Mail mit vorangestellten zusätzlichen Headern mit Envelope Informationen und Checksumme) abgelegt werden. Der Pfad wird aus der Hex Darstellung des Hashwertes generiert, pro Unterverzeichnisebene werden jeweils „dirlength“ Zeichen verwendet, es gibt „subdirs“ Unterverzeichnisebenen. Box in der die Nachrichten im Bennomailformat (Mail mit vorangestellten zusätzlichen Headern mit Envelope Informationen und Checksumme) abgelegt werden. Der Pfad wird aus der Hex Darstellung des Hashwertes generiert, pro Unterverzeichnisebene werden jeweils „dirlength“ Zeichen verwendet, es gibt „subdirs“ Unterverzeichnisebenen.
  
-<file>+<file xml>
 <fshexbennobox> <fshexbennobox>
   <Journal /> // Journal dieser Box. Es wird im Unterverzeichnis „.../journal“ angelegt.   <Journal /> // Journal dieser Box. Es wird im Unterverzeichnis „.../journal“ angelegt.
Zeile 313: Zeile 325:
     <conditions><all /></conditions>     <conditions><all /></conditions>
     <readonly>true</readonly>     <readonly>true</readonly>
-    <directorywatcher directory="/srv/benno/inbox" pattern=".*">+    <directorywatcher directory="/srv/benno/inbox" pattern=".*\.eml">
       <!-- Parser der Eingangsdokumente (mailfile|bennomailfile) -->       <!-- Parser der Eingangsdokumente (mailfile|bennomailfile) -->
       <mailfile>       <mailfile>
Zeile 346: Zeile 358:
           <directory>/srv/benno/archives/lw-systems.de/index</directory>           <directory>/srv/benno/archives/lw-systems.de/index</directory>
         </luceneindex>         </luceneindex>
-        <singlefsbox+        <yearlyfsbox
-          <fshexbennobox> +            <fshexbennobox> 
-            <monthlyfsjournal/> +                <monthlyfsjournal/> 
-            <compression>gzip</compression> +                    <directory>/srv/benno/archives/lw-systems.de/repo</directory> 
-            <directory>/srv/benno/archives/lw-systems.de/repo</directory> +                    <subdirs>3</subdirs> 
-            <subdirs>3</subdirs> +                    <dirlength>2</dirlength> 
-            <dirlength>2</dirlength> +                    <compression>gzip</compression> 
-          </fshexbennobox> +            </fshexbennobox> 
-        </singlefsbox>+        </yearlyfsbox>
       </simplecontainer>       </simplecontainer>
     </configuredcontainers>     </configuredcontainers>
benno.xml.1558616052.txt.gz · Zuletzt geändert: 2019/05/23 12:54 von lwsystems