User tools

Website tools


client configuration

This is an old version of the document!


Client configuration

Setup options

This article describes the configuration of a Benno MailArchiv system with multiple clients, where emails are imported from a single import source (e.g., a single mail gateway with MILTER integration)

Multi-Import Setups

Setups with multiple import sources, such as multiple mail gateways with MILTERinterface and/or Microsoft Exchangeor IMAPservers, require a slightly modified configuration.

Standard configuration

The standard configuration with one client is also described separately.

Multi-tenant configuration

All emails to be imported from all clients are stored in the inbox directory /srv/benno/inbox . In this example, two clients are configured, each with its own container .

Within the logical structure of the archiver, the clients are distinguished based on the identifier of the container (Client1 or Client2).

Für Mandant1 werden zwei Domains im gleichen Container archviert. Die Domains werden im <conditions /> Tag des Containers festgelegt.

Der Archiver liest alle Dateien, die auf das Muster *.eml passen und analysiert die Header der E-Mail. Falls einer der <senderheaders /> oder <recipientheaders /> eine Adresse mit der Domain „mandant1.de“ oder „mandant2.de“ enthält, wird die E-Mail dem entsprechenden Container zugeordnet und weiter verarbeitet.

Im vorliegenden Fall wird eine E-Mail, die von oder an die Domain „mandant1.de“ geschickt wurde, unterhalb des Verzeichnissess /srv/benno/archives/mx1/Mandant1/repo gespeichert und indexiert. Die indexierten Inhalte werden zusätzlich im zugeordneten Index-Verzeichnis gespeichert.

Nachdem eine E-Mail alle passenden Container durchlaufen hat, wird sie aus dem Inbox-Verzeichnis gelöscht. Falls eine E-Mail keinem der Container zugeordnet werden kann, wird sie ohne weitere Speicherung gelöscht.

The necessary directories for "repo" and "index" are created automatically. It only needs to be ensured that the user "benno" has the appropriate write permissions on the file system.

Example of the structure

<benno>
   <configuredarchives>
      <containerarchive>
         <identifier>mailsrv_1</identifier>
         <conditions>
            <all />
         </conditions>
         <directorywatcher directory="/srv/benno/inbox" pattern=".*.eml">
            <mailfile>
               <senderheaders>
                  <name>X-REAL-MAILFROM</name>
                  <name>X-BENNO-GW</name>
                  <name>From</name>
               </senderheaders>
               <recipientheaders>
                  <name>X-REAL-RCPTTO</name>
                  <name>BCC</name>
                  <name>To</name>
                  <name>Cc</name>
               </recipientheaders>
               <secretheaders>
                  <name>X-REAL-MAILFROM</name>
                  <name>X-REAL-RCPTTO</name>
                  <name>X-BENNO-GW</name>
                  <name>BCC</name>
               </secretheaders>
            </mailfile>
         </directorywatcher>
           <configuredcontainers>
           <!-- CONTAINER 1 ######################################################## -->
            <simplecontainer>
               <identifier>Mandant1</identifier>
               <conditions>
                 <or>
                  <domain sender="true" recipient="true" from="true" to="true" cc="true">mandant1.de</domain>
                  <domain sender="true" recipient="true" from="true" to="true" cc="true">mandant1.com</domain>
                 </or>
               </conditions>
               <luceneindex version="LUCENE_36">
                  <directory>/srv/benno/archives/mx1/Mandant1/index</directory>
               </luceneindex>
               <yearlyfsbox>
                  <fshexbennobox>
                     <monthlyfsjournal/>
                     <directory>/srv/benno/archives/mx1/Mandant1/repo</directory>
                     <subdirs>3</subdirs>
                     <dirlength>2</dirlength>
                     <compression>gzip</compression>
                  </fshexbennobox>
               </yearlyfsbox>
            </simplecontainer>
            <!-- CONTAINER 2 ######################################################## -->
            <simplecontainer>
               <identifier>Mandant2</identifier>
               <conditions>
                  <domain sender="true" recipient="true" from="true" to="true" cc="true">mandant2.de</domain>
               </conditions>
               <luceneindex version="LUCENE_36">
                  <directory>/srv/benno/archives/mx1/Mandant2/index</directory>
               </luceneindex>
               <yearlyfsbox>
                  <fshexbennobox>
                     <monthlyfsjournal/>
                     <directory>/srv/benno/archives/mx1/Mandant2/repo</directory>
                     <subdirs>3</subdirs>
                     <dirlength>2</dirlength>
                     <compression>gzip</compression>
                  </fshexbennobox>
               </yearlyfsbox>
            </simplecontainer>
         <!-- /End containers -->
         </configuredcontainers>
      </containerarchive>
   </configuredarchives>
   <bennoRest>
     <jettyConfig>/etc/benno/jetty.xml</jettyConfig>
     <!-- shareSecret should be written in first line of "passwdFile" -->
     <passwdFile>/etc/benno/rest.secret</passwdFile>
     <!-- deprecated sharedSecret configuration
     <sharedSecret>nichtzuerratendeslaengerespasswort</sharedSecret>
     -->
     <indexCacheTTL>300000</indexCacheTTL>
   </bennoRest>
</benno>
mandanten-konfiguration.1613492402.txt.gz · Zuletzt geändert: 2021/02/16 16:20 von lwsystems