Unterabschnitte

Das ArchIMAP-Package

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

Einleitung

Durch einen Cron-Job gesteuert werden die Postfächer der Mail-User, welche im Mail-Paket über die Parameter POP3IMAP_... festgelegt wurden, nach deren individuellen Einstellungen archiviert bzw. gelöscht. Als Selektionskriterium für die Bearbeitung wird das in der 'From '-Zeile einer Nachricht enthaltene Datum zu Grunde gelegt. Voraussetzung hierfür ist, dass im Home-Verzeichnis eines Mail-Users eine Datei mit Namen `.archimap-active' existiert.
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 Datei gefunden, so wird sie um eventuell hinzugekommene Mail-Dateien 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 einfach mit einem Editor eine leere Datei anlegen. Die Dateisyntax kann durch Eingabe von `archimapcheck' geprüft werden.
Der Aufbau der Datei wird unter dem Punkt `Aufbau der Steuerdatei' beschrieben.
Nach erfolgreicher Bearbeitung der Mail-Dateien eines Mail-Anwenders werden die ausgeführten Aktionen in einer Logdatei mit Namen `archimap.log' festgehalten. Die Datei wird im jeweiligen Home-Verzeichnis des Anwenders abgelegt und optional per Mail an den Anwender übermittelt.

Funktionen

Das ArchIMAP-Package besteht aus folgender Komponente:

Voraussetzungen

Diese Package benötigt zur korrekten Funktion zwingende die installierten Packages `Mail' und `Perl'.

Installation

Das ArchIMAP-Package wird über das Setup-Menü installiert. Nach dem Installieren der Programmdateien wird direkt der Konfigurations-Editor gestartet um die Konfiguration anzupassen. Nach Beendigung diese 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. Deshalb wird auf deren Funktion vorerst nicht weiter eingegangen.

Änderung der Konfiguration

Die Konfiguration kann über den Menüpunkt `Edit configuration' geändert werden. Standardmäßig wird der Editor `joe' aufgerufen. Nachdem der Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden soll. Wird dies bestätigt, werden über ein Skript die modifizierten Änderungen umgehend wirksam gemacht. Es ist zu beachten, dass einige Programme eigenständig bei erneuter Aktivierung die Konfigurationsdatei neu einlesen, somit führt ein 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.

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

Gültige Werte: yes, no

Standard-Einstellung: START_ARCHIMAP='no'

ARCHIMAP_TMP_PATH
Über diesen Parameter kann das temporäre Verzeichnis, welches von dem Programm `archmbox' verwendet wird, anpassen.

Gültige Werte: absoluter Pfad

Standard-Einstellung: 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 Standardertes `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 Pfad handeln muß, der nicht schon von einem anderen User verwendet wird und auf die der Anwender Schreibrechte haben muß. Ansonsten kann dies dazu führen, dass Mail unterschiedlicher Anwender in einem Verzeichnis gespeichert werden bzw. es zu Schreibfehlern kommt.
Diese Einstellung kann von jedem Mail-Anwender individuell angepaßt werden.

Gültige Werte: Verzeichnis oder Pfadangabe

Standard-Einstellung: 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

Standard-Einstellung: ARCHIMAP_DEFAULT_ARCHIVE_TYPE='default'

ARCHIMAP_DEFAULT_ACTION
Über diesen Parameter wird festgelegt, welche Aktion standardmäßig auf neue Mail-Dateien 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 wieviele Nachrichten bearbeitet würden.
Diese Einstellung kann von jedem Mail-Anwender individuell angepaßt werden.

Achtung: Insbesondere der Parameter 'kill' darf nur mit großer Vorsicht benutzt werden, da hierdurch der Administrator die Mail-Dateien der Anwender ohne Rückfrage löschen kann!

Gültige Werte: none, archive, copy, kill, list

Standard-Einstellung: ARCHIMAP_DEFAULT_ACTION='none'

ARCHIMAP_DEFAULT_TIMESPAN
Über diesen Parameter wird angegeben, nach wieviel Tagen standardmäßig eine Nachrichten bearbeitet werden soll. Im Beispiel wird davon ausgegangen, dass alle Nachrichten die älter als 90 Tage sind, bearbeitet werden sollen. Wird 'all' angegeben, so werden alle Nachrichten bearbeitet. Diese Einstellung kann von jedem Mail-Anwender individuell angepaßt werden.

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

Standard-Einstellung: ARCHIMAP_DEFAULT_TIMESPAN='90'

ARCHIMAP_EXCLUDE_FOLDERS
Dieser Parameter enthält eine Liste von Ordnern, die 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: Verzeichnissnamen durch Doppelpunkt getrennt

Standard-Einstellung: 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 z.B. Daten auf ein Laufwerk sichern will zu dem 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:
/var/archimap/bin/pre_archive_script.sh
/var/archimap/bin/post_archive_script.sh

Gültige Werte: yes, no

Standard-Einstellung: 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

Standard-Einstellung: 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 Standard-Einstellung wird jeweils am Samstag um 01:07h die Archivierung gestartet. Wer näheres über die verwendete Befehlsyntax erfahren möchte, sollte über Google nach `man' und `crontab' suchen.

Gültige Werte: Crontab-spezifischer Parametereintrag

Standard-Einstellungen: 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 angepaßt werden.

Gültige Werte: yes, no

Standard-Einstellung: ARCHIMAP_RESULT_INFOMAIL='yes'

ARCHIMAP_RESULT_INFOMAIL_SENDTO (optional)
Wird dieser Parameter in die Konfigurationsdatei eingefügt und mit einer Mailadresse 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 beiden Postfächer stellvertretend an die angegebene Mailadresse geschickt wird. Diese Einstellung kann für die genannten Postfächer auch individuell angepaßt werden, bei allen anderen Postfächern bleibt dieser Parameter wirkungslos.

Gültige Werte: gültige Mailadresse

Beispiel: ARCHIMAP_RESULT_INFOMAIL_SENDTO=postmaster@domain.lan

Standard-Einstellung: ARCHIMAP_RESULT_INFOMAIL_SENDTO=

Aufbau der Steuerdatei

Bei der erstmaligen Bearbeitung der Maildateien wird eine Datei mit Namen `.archimap-active' im Home-Verzeichnis eines jeden Users abgelegt. Diese Datei steuert welche Mail-Dateien bearbeitet und welche Aktion in welchem Intervall ausgeführt werden soll. Die Standardvorgaben für das Anlegen dieser Datei werden erstmalig vom Administrator eingestellt und können vom Anwender individuell angepaßt werden. Es ist zu beachten, das die erste Zeile unbedingt `# defaults - version:1' heißt, andernfalls wird die Konfigurationsdatei nicht richtig 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 Mail-Dateien 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      gültige 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 löschen

days           Angabe der Tage nach denen Mail archiviert oder gelöscht werden
               soll

type           default - `.archived' an die Archivdatei anhängen
               yearly  - z.B. `.2004' an die Archivdatei anhängen
               monthly - z.B. `.2004-03' an die Archivdatei anhängen
               daily   - z.B. `.2004-03-14' an die Archivdatei anhängen

comment        Angabe eines idividuellen 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 Systemuser 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.

Jens Vehlhaber 2008-03-25