Gedankensplitter

Gedanken, Sprüche, Ideen ...

Webzweinullitis

Wo fängt sie an, wo hört sie auf?

Social Networking...

…macht im echten Leben einfach mehr Spass!

Kurznotiz: Mailbox-Pattern

09.February 2009 - (0) - Kategorien: -

Auf dem bei einem großen Serveranbieter heimischen Root-Server läuft neben dem Webserver und den sonst üblichen und nützlichen Diensten ein kompletter Mailserver mit Viren- und Spamfilter für die elektronische Post mehrerer Domains.

Neulich wollte ich den Lernprozess des Spamfilters komplettieren und ihn um einen Sammelaccount für Spam erweitern. Die Benutzer des Servers können unerwünschte Nachrichten einfach an diesen Account weiterleiten. Ein Cronjob verrichtet dann die Arbeit und jagt den Müll nachts in die Datenbank zur Verbesserung der Filterfunktion. Das Anlegen des Accounts sowie das Einrichten des Cronjobs war natürlich Routine. Anstrengend wird es dann, wenn die alten Spammails nach einiger Zeit automatisch gelöscht werden sollen (denn dann lernt der Filter nichts mehr daraus). Der IMAP-Server Cyrus bringt hierzu ein Programm names ipurge mit. Dieses erfüllt genau die gestellten Anforderungen, bereitet aber bei seinem Aufruf einige Probleme. Zur Angabe des Ordners im Benutzerkonto, dessen Mails automatisch gelöscht werden sollen, wird ein so genanntes Mailbox-Pattern verwendet. Dieses hat im konkreten Fall die folgende Syntax:

user/BENUTZERNAME/ORDNERNAME@example.com

Ja richtig. Da steht nicht “BENUTZERNAME@example.com”, sondern der Ordnername. “user” ist eine Art Schlüsselwort. Die Syntax ist ungewohnt. Doch der Ungewohntheit zu Trotz, ich hätte zumindest die Vertauschung von Benutzer- und Ordnername erwartet. Die Recherche hat mich eine dreiviertel Stunde gekostet, denn unglücklicherweise ist dieses Mailbox-Pattern fast nicht dokumentiert.

Was tut also der folgende Befehl?

ipurge -d 1 -f user/spam/spam@example.com

Es werden alle Mails im Ordner “spam” des Benutzers mit der Mailadresse spam@example.com. gelöscht, die älter als einen Tag sind,

Das genügt, um den Spamfilter automatisch mit neuem Input zu versorgen. Für manuell gepflegte Spamordner sollte man wegen falsch einsortierten Nachrichten die Verfallszeit etwas höher wählen.

Trick 17-3: Sendmail von Kolab benutzen

20.January 2009 - (0) - Kategorien: -

Wie einige vielleicht wissen betreibe ich mit zwei Freunden einen eigenen Server, der die meisten für mich relevanten Netzdienste bereitstellt. Als Mailserver dient uns die Groupware Kolab, die neben der Mailfunktionalität ebenfalls die Verwaltung von Aufgaben, Terminen und Notizen mit sich bringt.

Die Kolab-Installation befindet sich in einem Verzeichnis und lebt darin in ihrem eigenen Root-Verzeichnis. Aus diesem Grund können Scripte und Programme aus dem Basissystem nicht ohne weiteres die Mailfunktionalität, wie zum Beispiel mail oder sendmail, benutzen. So funktionierte die Funktion mail() von PHP nicht. Diese wird meist von Contentmanagementsystemen verwendet, um E-Mails an die Benutzer zu schicken.
Es ist nun nicht sinnvoll sendmail oder ähnliches zusätzlich im Basissystem zu installieren, stattdessen möchte ich das vorhandene Programm des Kolab benutzen. Nach einigen Recherchen und Experimenten fand ich die Lösung mit folgendem, einfachen und fast schon naheliegenden Befehl:

ln -s /kolab/sbin/sendmail /usr/sbin/sendmail

Nun steht das Binary von sendmail im gesamten System zur Verfügung und kann z.B. von PHP wie gewohnt verwendet werden.
Da es gerade zu diesem, eigentlich einfachen, Problem kaum Quellen gibt, hoffe ich, dass ich mit diesem Eintrag anderen Administratoren helfen kann.