Unterabschnitte

Das ArchIMAP-Paket

Dieses Paket ist als Zusatzpaket zum Mail-Paket zu verstehen. Abgelegte Nachrichten werden, abhängig von individuellen Einstellungen, in bestimmten Zeitintervallen archiviert oder gelöscht.

Die Einleitung

Durch einen Cronjob (periodische durchgeführte Aufgabe) gesteuert werden die Postfächer der Mail-Anwender, welche im Mail-Paket über die Parameter MAIL_USER_... festgelegt wurden, nach deren individuellen Einstellungen archiviert bzw. gelöscht. Voraussetzung hierfür ist, dass im Home-Verzeichnis eines Mail-Anwenders eine Datei mit Namen '.archimap-active' existiert.
Als Selektionskriterium für die Bearbeitung wird standardmäßig das in der 'From'-Zeile einer Nachricht enthaltene Datum zu Grunde gelegt. Soll alternativ das Datum aus der 'Date'-Zeile verwendet werden, so kann dies über den Parameter ARCHIMAP_DEFAULT_ACTION festgelegt werden.
Falls zusätzlich noch Public- (IMAP_PUBLIC_FOLDER_...) oder Shared-Ordner (IMAP_SHARED_FOLDER_...) definiert wurden, werden auch diese Ordner bei der Bearbeitung berücksichtigt.
Wird eine entsprechende .archimap-active-Datei gefunden, so wird diese um eventuell hinzugekommene Nachrichtendateien ergänzt. Wird keine Datei gefunden, so wird auch keine Bearbeitung durchgeführt.
Ein Anwender kann diese Datei durch Eingabe des Befehls 'archimapinit' anlegen und dann gleich die Standardparameter anpassen oder auch mit einem Editor eine leere Datei erzeugen. Die Dateisyntax kann durch Eingabe des Befehls 'archimapcheck' geprüft werden.
Der genaue Aufbau der Datei wird im Absatz 'Aufbau der Steuerdatei' beschrieben.
Nach erfolgreicher Bearbeitung der Nachrichtendateien eines Mail-Anwenders werden die ausgeführten Aktionen in einer Logdatei mit Namen 'archimap.log' festgehalten. Diese Datei wird im jeweiligen Home-Verzeichnis des Anwenders abgelegt und optional per E-Mail an den Anwender übermittelt.

Die Funktionen

Das ArchIMAP-Paket besteht aus folgender Komponente:

Die Voraussetzungen

Dieses Paket benötigt zur korrekten Funktion zwingend die installierten Paket ''Inet', 'Mail' und 'Perl'.

Die Installation

Das ArchIMAP-Paket wird über das Setup-Menü installiert. Wird eine ältere Paketversion vorgefunden, so wird diese deinstalliert bevor die neuen Programmdateien installiert werden. Nach dem Installieren der Programmdateien wird direkt der Konfigurations-Editor gestartet um die Konfiguration anzupassen. Nach Beendigung dieses Schrittes werden die Konfigurationsdateien generiert und alle benötigten Programme gestartet.

Das Menü im Setup-Programm

Das Menü im Setup-Programm wird über 'Mail Services' -> 'Goto mail modules' angesprochen und ist wie folgt aufgebaut:

Die Menüpunkte dürften selbsterklärend sein, da sie keinerlei weitere Eingaben erwarten. Aus diesem Grund wird auf deren Funktion nicht weiter eingegangen.

Die Änderung der Konfiguration

Die Konfiguration kann über den Menüpunkt 'Edit configuration' geändert werden. Standardmäßig wird der Editor aufgerufen, der in der Environment- Konfiguration über die Variable 'EDITOR' festgelegt wurde. Nachdem der Editor beendet wurde wird gefragt, ob die Konfiguration aktiviert werden soll. Wird dies bestätigt, werden über ein Skript die Anpassungen umgehend wirksam gemacht. Es ist zu beachten, dass einige Programme eigenständig bei erneuter Aktivierung die Konfigurationsdatei neu einlesen. Somit führt die Beantwortung dieser Abfrage mit 'Nein' nur zu einem kurzen Aufschub der Aktivierung.

Die Konfigurationsdatei

In der Konfigurationsdatei, die über das Menü zugänglich ist, sind folgende Parameter vorhanden; wer sie von Hand editieren will findet sie unter /etc/config.d/archimap.

Die Parameter

START_ARCHIMAP

Wird dieser Parameter auf 'yes' gestellt, so wird über einen Cronjob die automatisierte Bearbeitung der E-Mail-Verzeichnisse der Mail-Anwender angestoßen. Wird der Parameter auf 'no' gesetzt, so wird die Archivierungsfunktion deaktiviert.

Gültige Werte: yes, no

Standardeinstellung: START_ARCHIMAP='no'

ARCHIMAP_TMP_PATH

Über diesen Parameter kann man das temporäre Verzeichnis anpassen, welches vom Programm 'archmbox' verwendet wird.

Gültige Werte: absoluter Pfad

Standardeinstellung: ARCHIMAP_TMP_PATH='/tmp'

ARCHIMAP_DEFAULT_ARCHIVE_FOLDER

Über diesen Parameter wird ein Ordner angegeben, unter dem die zu archivierenden Nachrichten im Mail-Verzeichnis des Anwenders abgelegt werden sollen. Bei Verwendung des Standardwertes 'Archiv' wird also z.B. der Ordner '/.imapmail/Sent' nach '/.imapmail/Archiv/Sent.archived' gesichert.
Beginnt der Eintrag mit einem '/', so wird ein absoluter Pfad angegeben, der sich auch außerhalb des Home-Verzeichnisses eines Anwenders befinden kann. Zu beachten ist hierbei jedoch, dass es sich um einen einmaligen Verzeichnispfad handeln muss, welcher nicht schon von einem anderen Anwender verwendet wird und auf den der Anwender Schreibrechte besitzt. Ansonsten kann dies dazu führen, dass E-Mail unterschiedlicher Anwender in einem Verzeichnis gespeichert werden bzw. es zu Schreibfehlern kommt.
Diese Einstellung kann von jedem Mail-Anwender individuell angepasst werden.

Gültige Werte: Verzeichnis oder Pfadangabe

Standardeinstellung: ARCHIMAP_DEFAULT_ARCHIVE_FOLDER='Archiv'

ARCHIMAP_DEFAULT_ARCHIVE_TYPE

Über diesen Parameter wird festgelegt, nach welchen Kriterien standardmäßig die Archivdatei benannt werden soll.
Wird der Parameter 'default' verwendet, so wird der Namenszusatz der Datei auf '.archived' gesetzt.
Wird der Parameter 'yearly' verwendet, so wird der Namenszusatz der Datei in Abhängigkeit des Empfangsjahres gesetzt. Beispiel: '.2004'
Wird der Parameter 'monthly' verwendet, so wird der Namenszusatz der Datei in Abhängigkeit des Empfangsjahres und -monates gesetzt. Beispiel: '.2004-03'
Wird der Parameter 'daily' verwendet, so wird der Namenszusatz der Datei in Abhängigkeit des Empfangsjahres, -monates und -tages gesetzt. Beispiel: '.2004-03-14'

Gültige Werte: default, yearly, monthly, daily

Standardeinstellung: ARCHIMAP_DEFAULT_ARCHIVE_TYPE='default'

ARCHIMAP_DEFAULT_ACTION

Über diesen Parameter wird festgelegt, welche Aktion standardmäßig auf neue Nachrichtendateien angewendet werden soll. Dabei wird bei Angabe von 'none' die Bearbeitung übersprungen, bei Angabe von 'archive' werden Nachrichten archiviert, bei Angabe von 'copy' werden Nachrichten kopiert, bei Angabe von 'kill' werden Nachrichten gelöscht und bei Angabe von 'list' wird nur angezeigt wie viele Nachrichten gegebenenfalls bearbeitet würden.
Diese Einstellung kann von jedem Mail-Anwender individuell angepasst werden.

Wird den Parametern ein '-date' angehängt, so wird für die Bearbeitung der Nachrichten der Date-Zeile anstelle des Erstellungsdatums der Nachricht verwendet.

ACHTUNG
Insbesondere der Parameter 'kill' darf nur mit großer Vorsicht benutzt werden, da hierdurch die Nachrichtendateien der Anwender ohne Rückfrage gelöscht werden können!


Gültige Werte: none, archive[-date], copy[-date], kill[-date], list[-date]

Standardeinstellung: ARCHIMAP_DEFAULT_ACTION='none'

ARCHIMAP_DEFAULT_TIMESPAN

Über diesen Parameter wird angegeben, nach wie vielen Tagen standardmäßig die Nachrichten bearbeitet werden sollen. Im Beispiel wird davon ausgegangen, dass alle Nachrichten bearbeitet werden sollen welche älter als 90 Tage sind. Wird 'all' angegeben, so werden generell alle Nachrichten bearbeitet. Diese Einstellung kann von jedem Mail-Anwender individuell angepasst werden.

Gültige Werte: Anzahl von Tagen oder 'all'

Standardeinstellung: ARCHIMAP_DEFAULT_TIMESPAN='90'

ARCHIMAP_EXCLUDE_FOLDERS

Dieser Parameter enthält eine Liste von Ordnern, welche von der Archivierung ausgeschlossen werden, da deren Archivierung nicht unbedingt sinnvoll ist. Die Einträge müssen jeweils durch einen Doppelpunkt voneinander getrennt werden.

Gültige Werte: Verzeichnisnamen

Standardeinstellung: ARCHIMAP_EXCLUDE_FOLDERS='INBOX:Draft:Templates:Trash'

ARCHIMAP_RUN_ARCHIVE_SCRIPTS

Über diesen Parameter wird festgelegt, ob ein Pre- bzw. Post- Archivierungsskript ausgeführt werden soll. Dies kann sinnvoll sein, wenn man Daten z.B. auf ein Laufwerk sichern will zu welchem erst eine Verbindung hergestellt werden muss. Die Ausführung der Skripte wird als erfolgreich angesehen, wenn sie nach der Ausführung den Wert '0' zurückgeben.

Die Namen der Skripte lauten 'pre_archive_script.sh' und 'post_archive_script.sh' und sie befinden sich bei eisfair-1 im Verzeichnis /var/archimap/bin/ und bei eisfair-2 im Verzeichnis /data/packages.

Gültige Werte: yes, no

Standardeinstellung: ARCHIMAP_RUN_ARCHIVE_SCRIPTS='no'

ARCHIMAP_CRON

Wird dieser Parameter auf 'yes' gestellt, so erfolgt eine automatisierte Archivierung in dem über die Variable ARCHIMAP_CRON_SCHEDULE vorgegebenen Zeitintervall. Die Einstellung 'no' deaktiviert die automatische Archivierung.

Gültige Werte: yes, no

Standardeinstellung: ARCHIMAP_CRON='yes'

ARCHIMAP_CRON_SCHEDULE

Hier wird festgelegt zu welchem Zeitpunkt bzw. in welchem Intervall eine Archivierung der IMAP-Maildateien angestoßen werden soll. Diese Funktion ist nur verfügbar, wenn der Parameter ARCHIMAP_CRON='yes' gesetzt wurde. Die fünf Teilparameter haben dabei folgende Bedeutung:

1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.

D.h. bei Verwendung der Standardeinstellung wird jeweils am Samstag um 01:07h die Archivierung gestartet. Wer Näheres über die verwendete Befehlssyntax erfahren möchte, sollte im Internet nach 'man' und 'crontab' suchen.

Gültige Werte: Crontab-spezifischer Parametereintrag

Standardeinstellungen: ARCHIMAP_CRON_SCHEDULE='7 1 * * 6'

ARCHIMAP_RESULT_INFOMAIL

Wird dieser Parameter auf 'yes' gestellt, so wird automatisch das Ergebnis eines Archivierungslaufes an den jeweiligen Mail-Anwender verschickt. Die Einstellung 'no' deaktiviert den automatischen Versand einer solchen Nachricht. Diese Einstellung kann von jedem Mail-Anwender individuell angepasst werden.

Gültige Werte: yes, no

Standardeinstellung: ARCHIMAP_RESULT_INFOMAIL='yes'

ARCHIMAP_RESULT_INFOMAIL_SENDTO (optional)

Wird dieser Parameter in die Konfigurationsdatei eingefügt und mit einer E-Mail-Adresse versehen, so wird bei gleichzeitig gesetztem Parameter ARCHIMAP_RESULT_INFOMAIL='yes' eine .forward-Datei für die Postfächer 'imappublic' und 'imapshared' erstellt. Über diese Datei wird gesteuert, dass das Ergebnis eines Archivierungslaufes für diese allgemeinen Postfächer stellvertretend an die angegebene E-Mail-Adresse geschickt wird. Diese Einstellung kann für die genannten Postfächer auch individuell angepasst werden, bei allen anderen Postfächern bleibt dieser Parameter wirkungslos.

Gültige Werte: gültige Mailadresse

Beispiel: ARCHIMAP_RESULT_INFOMAIL_SENDTO=postmaster@domain.lan

Standardeinstellung: ARCHIMAP_RESULT_INFOMAIL_SENDTO=

Der Aufbau der Steuerdatei

Bei der erstmaligen Bearbeitung der Nachrichtendateien wird eine Datei mit Namen '.archimap-active' im Home-Verzeichnis eines jeden Anwenders abgelegt. Diese Datei steuert welche Nachrichtendateien bearbeitet und welche Aktionen in welchem Intervall ausgeführt werden sollen. Die Standardvorgaben für das Anlegen dieser Datei werden erstmalig vom Administrator eingestellt und können vom Anwender individuell angepasst werden. Es ist zu beachten, dass die erste Zeile unbedingt '# defaults - version:1' heißt, andernfalls wird die Konfigurationsdatei nicht erkannt.

Beispiel:

# defaults - version:1
ARCHIMAP_DEFAULT_ARCHIVE_FOLDER=Archiv
ARCHIMAP_DEFAULT_ARCHIVE_TYPE=default
ARCHIMAP_DEFAULT_ACTION=none
ARCHIMAP_DEFAULT_TIMESPAN=30
ARCHIMAP_RESULT_INFOMAIL=yes
ARCHIMAP_RESULT_INFOMAIL_SENDTO=
#file/dir:name:action:days:type:comment
dir:/home/frank/.imapmail:
file:/home/frank/.imapmail/Sent:archive:60:yearly
dir:/home/frank/.imapmail/Ablage_Mailinglisten:
file:/home/frank/.imapmail/Ablage_Mailinglisten/FLI4L_ML:kill:90:default
file:/home/frank/.imapmail/Ablage_Mailinglisten/EISFAIR_ML:kill:90:default
dir:/home/frank/.imapmail/Ablage_Ebay:
file:/home/frank/.imapmail/Ablage_Ebay/Ebay-kaufen:none:30:default
file:/home/frank/.imapmail/Ablage_Ebay/Ebay-verkaufen:none:30:default

Die ersten sechs Parameter geben die Standardwerte für neu hinzukommende Ordner an und überschreiben die Vorgaben des Administrators. Auf die Funktion der einzelnen Parameter wurde im Abschnitt 'Die Konfigurationsdatei' detailliert eingegangen.
Die darauf folgenden Zeilen geben die Ordnerstruktur und die darin enthaltenen Nachrichtendateien an. Der Aufbau der Zeilen erfolgt dabei nach dem Schema 'file/dir:name:action:days:type:comment'.
Die Parameter werden jeweils durch einen Doppelpunkt voneinander getrennt.

Parameter      gueltige Werte
---------      --------------
dir/file       dir  - Verzeichniseintrag, kommt immer vor einem
                      Dateieintrag
               file - Dateieintrag

name           Pfad und Name der Mail-Datei

action         none    - Mail nicht bearbeiten
               archive - Mail archivieren
               copy    - Mail kopieren
               kill    - Mail loeschen

days           Angabe der Tage nach denen Mail archiviert oder geloescht
               werden soll

type           default - '.archived' an die Archivdatei anhaengen
               yearly  - z.B. '.2004' an die Archivdatei anhaengen
               monthly - z.B. '.2004-03' an die Archivdatei anhaengen
               daily   - z.B. '.2004-03-14' an die Archivdatei anhaengen

comment        Angabe eines individuellen Kommentars (optional)

Verschiedenes

Public- und Shared-Ordner

Will man zum Beispiel auch den Inhalt von Public- oder Shared-Ordnern bearbeiten, so ist hier die Vorgehensweise etwas anders, da es sich nicht um vollwertige Systemanwender handelt. Am Beispiel eines öffentlichen Spam-Ordners möchte ich dies verdeutlichen.

Voraussetzung:

1
Einen Public-Ordner im Mail-Paket anlegen:

IMAP_PUBLIC_FOLDER_N='1'
IMAP_PUBLIC_FOLDER_1_NAME='Spam-Mail'
IMAP_PUBLIC_FOLDER_1_USERGROUP=''

2
Exiscan-Konfiguration im Mail-Paket modifizieren:

EXISCAN_SPAMD_ENABLED='yes'
EXISCAN_SPAMD_ACTION='redirect spam-mail@domain.de'

3
Im Verzeichnis /home/imappublic' eine archimap-Datei, durch Aufruf von 'archimapinit imappublic' anlegen und diese danach entsprechend anpassen.

eis 2017-05-03