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 [2017/01/10 14:49] – [Überblick] lwsystemsbenno.xml [2023/11/23 11:56] (aktuell) – [Regex] lwsystems
Zeile 58: Zeile 58:
  
  
-  * <all/> +  * //<all/>// 
-  * <and>...</and> +  * //<and>...</and>// 
-  * <not>...</not> +  * //<not>...</not>// 
-  * <or>...</or> +  * //<or>...</or>// 
-    * ''<or><address ...>...</address><address ...>...</address></or>'' +    * //%%<or><address ...>...</address><address ...>...</address></or>%%// 
-  * <none /> - Bedingung trifft nie zu +  * //<none />// - Bedingung trifft nie zu 
-  * ''<address sender="true" recipient="true">user@domain</address>'' +  * //%%<address sender="true" recipient="true">user@domain</address>%%// 
-    * sender = "true" +    * %%sender = "true"%% 
-    * recipient = "true" +    * %%recipient = "true"%% 
-    * from = "true" +    * %%from = "true"%% 
-    * to = "true" +    * %%to = "true"%% 
-    * cc = "true" +    * %%cc = "true"%% 
-  * <domain sender="true" recipient="true">domain</domain> - Vergleicht nur den Domain-Name +    * %%regex = "true"%% 
-    * sender = "true" +  * //%%<domain sender="true" recipient="true">domain</domain>%%// - Vergleicht nur den Domain-Name 
-    * recipient = "true" +    * %%sender = "true"%% 
-    * from = "true" +    * %%recipient = "true"%% 
-    * to = "true" +    * %%from = "true"%% 
-    * cc = "true"+    * %%to = "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 94: 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.
 +
 +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. **Alle** E-Mails der Inbox werden gelöscht! Dieses betrifft auch E-Mails, auf die keines der Kriterien zutrifft.
Zeile 121: Zeile 133:
  
 <file> <file>
-<directorywatcher directory="/srv/benno/inbox" +<directorywatcher directory="/srv/benno/inbox" pattern=".*\.eml">
-                  pattern=".*">+
   <mailfile>...</mailfile>   <mailfile>...</mailfile>
 </directorywatcher> </directorywatcher>
Zeile 154: Zeile 165:
     <name>BCC</name>     <name>BCC</name>
   </secretheaders>   </secretheaders>
 +  <customhash>
 +    <name>From</name>
 +    <name>To</name>
 +    <name>Subject</name>
 +    <name>Date</name>
 +    <name>Message-Id</name>
 +  </customhash>                
 </mailfile> </mailfile>
 </file> </file>
Zeile 159: Zeile 177:
 Die Zuordnung von Sender- und Empfängerdaten erfolgt innerhalb der Tags //<senderheaders />// bzw. //recipientheaders />//. Die Zuordnung von Sender- und Empfängerdaten erfolgt innerhalb der Tags //<senderheaders />// bzw. //recipientheaders />//.
  
-Alle Header, die im Tag //<secretheaders />// aufgeführt sind, werden vor dem Speichern aus der E-Mail entfernt. Diese Informationen sind ausschließlich im Index vorhanden.+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 vorhanden.
  
  
Zeile 198: Zeile 216:
 <luceneindex version=“LUCENE_36“> <luceneindex version=“LUCENE_36“>
   <directory>/srv/mailarchive/default/index</directory>   <directory>/srv/mailarchive/default/index</directory>
 +  <indexTimeout>120</indexTimeout>
 </luceneindex> </luceneindex>
 </file> </file>
Zeile 203: Zeile 222:
   * 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)
  
 ===== Boxgenerator ===== ===== Boxgenerator =====
  
-  * [[#singlefsbox]] 
-  * [[#weeklyfsbox]] 
-  * [[#monthlyfsbox]] 
-  * [[#quarterlyfsbox]] 
   * [[#yearlyfsbox]]   * [[#yearlyfsbox]]
  
 ==== singlefsbox ==== ==== singlefsbox ====
 +
 +**VERALTET** Wird in zukünftigen Versionen entfallen!
  
 Eine einzelne Box wird konfiguriert und verwendet. Eine einzelne Box wird konfiguriert und verwendet.
Zeile 232: Zeile 249:
  
  
-==== weeklyfsbox ==== 
- 
-Konfiguration für wöchentliche Boxerstellung. Der Grundpfad wird in der Beispielkonfiguration der Box angegeben, für die echten Boxen wird jeweils eine Konfiguration mit dem erweiterten Pfad „.../2011w07/“ erstellt. Damit befinden sich die eigentlichen Boxen in Unterverzeichnissen des in der Beispielkonfiguration angegebenen Pfads. 
- 
-<file> 
-<weeklyfsbox> 
-  <Box /> 
-</weeklyfsbox> 
-</file> 
-==== monthlyfsbox ==== 
- 
-Konfiguration für monatliche Boxerstellung. Der Grundpfad wird in der Beispielkonfiguration der Box angegeben, für die echten Boxen wird jeweils eine Konfiguration mit dem erweiterten Pfad „.../201103/“ erstellt. Damit befinden sich die eigentlichen Boxen in Unterverzeichnissen des in der Beispielkonfiguration angegebenen Pfads. 
- 
-<file> 
-<monthlyfsbox> 
-  <Box /> 
-</monthlyfsbox> 
-</file> 
- 
-==== quarterlyfsbox ==== 
- 
-Konfiguration für quartalsweise Boxerstellung. Der Grundpfad wird in der Beispielkonfiguration der Box angegeben, für die echten Boxen wird jeweils eine Konfiguration mit dem erweiterten Pfad „.../2011q2/“ erstellt. Damit befinden sich die eigentlichen Boxen in Unterverzeichnissen des in der Beispielkonfiguration angegebenen Pfads. 
- 
-<file> 
-<quarterlyfsbox> 
-  <Box /> 
-</quarterlyfsbox> 
-</file> 
  
  
Zeile 282: Zeile 271:
   <id>boxname</id> // Name der Box, wird bei generierten Boxen meist automatisch vergeben.   <id>boxname</id> // Name der Box, wird bei generierten Boxen meist automatisch vergeben.
   <compression>none</compression> // Kompression der Mails in der Box.   <compression>none</compression> // Kompression der Mails in der Box.
-                                                              // Unterstützt werden „none“„gzip“ und „bzip2“+                                                              // Unterstützt werden „none“ und „gzip“.                                                              
   <directory>/srv/mailarchive/box</directory> // Verzeichnis in dem die Box ihre Dateien ablegt   <directory>/srv/mailarchive/box</directory> // Verzeichnis in dem die Box ihre Dateien ablegt
   <subdirs>3</subdirs> // Anzahl der Unterverzeichnisebenen bis zur Maildatei   <subdirs>3</subdirs> // Anzahl der Unterverzeichnisebenen bis zur Maildatei
Zeile 313: Zeile 302:
 </file> </file>
  
-==== fshexmailbox ==== 
- 
-Box in der die Nachrichten "roh" im eml-Format abgelegt werden. Die Metadaten werden in einer zusätzlichen Datei abgelegt.  
-Der Pfad wird aus der Hex Darstellung des Hashwertes generiert, pro Unterverzeichnisebene werden jeweils „dirlength“ Zeichen verwendet, es gibt „subdirs“  
-Unterverzeichnisebenen. 
- 
-<file> 
-<fshexmailbox> 
-  <Journal /> // Journal dieser Box. Es wird im Unterverzeichnis „.../journal“ angelegt. 
-  <id>boxname</id> // Name der Box, wird bei generierten Boxen meist automatisch vergeben. 
-  <compression>none</compression> // Kompression der Mails in der Box. 
-                                                              // Unterstützt werden „none“, „gzip“ und „bzip2“ 
-  <directory>/srv/mailarchive/box</directory> // Verzeichnis in dem die Box ihre Dateien ablegt 
-  <subdirs>3</subdirs> // Anzahl der Unterverzeichnisebenen bis zur Maildatei 
-  <dirlength>2</dirlength> // Anzahl der Zeichen, die eine Unterverzeichnisebene bilden 
-</fshexmailbox> 
-</file> 
- 
-=== Dateiablage === 
- 
-== E-Mail == 
- 
-Relativer Pfad: ''.../repo/2012/14/F9/66/4704AB5AA55D479A1EAFEB65FDCF58587DE609D316D08152AEE2B1DAC100.mail.gz'' 
- 
-== Metadaten == 
- 
-Relativer Pfad: ''.../repo/2012/14/F9/66/4704AB5AA55D479A1EAFEB65FDCF58587DE609D316D08152AEE2B1DAC100.meta.gz'' 
- 
-<file> 
-<metadata hash="14F9664704AB5AA55D479A1EAFEB65FDCF58587DE609D316D08152AEE2B1DAC1" date="2012-06-21 11:01:08.0 CEST" hasattachment="false" size="895" defective="false"> 
-   <senders count="1"> 
-      <sender><![CDATA[j.elixmann@hansen-und-meyer.de]]></sender> 
-   </senders> 
-   <recipients count="1"> 
-      <recipient><![CDATA[j.kohning@hansen-und-meyer.de]]></recipient> 
-   </recipients> 
-   <from count="1"> 
-      <sender><![CDATA[j.elixmann@hansen-und-meyer.de]]></sender> 
-   </from> 
-   <to count="1"> 
-      <recipient><![CDATA[j.kohning@hansen-und-meyer.de]]></recipient> 
-   </to> 
-   <cc count="0"/> 
-   <headers count="9"> 
-      <header name="Message-ID"><![CDATA[<4AC1H8JKNSKJKHKH787876E624.5000408@web.de>]]></header> 
-      <header name="Date"><![CDATA[Thu, 21 Jun 2012 11:01:08 +0200]]></header> 
-      <header name="From"><![CDATA[j.elixmann@hansen-und-meyer.de]]></header> 
-      <header name="User-Agent"><![CDATA[Mozilla-Thunderbird 2.0.0.22 (X11/20090706)]]></header> 
-      <header name="MIME-Version"><![CDATA[1.0]]></header> 
-      <header name="To"><![CDATA[j.kohning@hansen-und-meyer.de]]></header> 
-      <header name="Subject"><![CDATA[Termin kommende Woche]]></header> 
-      <header name="Content-Type"><![CDATA[text/plain; charset=ISO-8859-1; format=flowed]]></header> 
-      <header name="Content-Transfer-Encoding"><![CDATA[8bit]]></header> 
-   </headers> 
-   <archives count="0"/> 
-</metadata> 
-</file> 
  
 ===== configuredcontainers ===== ===== configuredcontainers =====
Zeile 386: Zeile 318:
   <containerarchive>   <containerarchive>
     <identifier>LWsystems</identifier>     <identifier>LWsystems</identifier>
-    <conditions> +    <conditions><all /></conditions>
-      <domain sender="true" recipient="true" from="true" to="true" cc="true">lw-systems.de</domain> +
-    </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 423: Zeile 353:
           <directory>/srv/benno/archives/lw-systems.de/index</directory>           <directory>/srv/benno/archives/lw-systems.de/index</directory>
         </luceneindex>         </luceneindex>
-        <singlefsbox+        <yearlyfsbox
-          <fshexbennobox> +            <fshexbennobox> 
-            <singlejournal/> +                <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.1484059740.txt.gz · Zuletzt geändert: 2017/01/10 14:49 von lwsystems