claws mit CRM114 auf dem N900
Freitag, 04. Juni 2010 23:49
· von meik
das wichtigste gleich zu beginn: es geht! ich fasse hier das ergebnis von viel trial&error zusammen, und biete außerdem experimentelle(!) maemo-builds von crm114 und tre an, die ich aus den debian-quellen gebacken habe. ehrlichgesagt war das einfach weniger aufwand als hier noch den build zu erklären.
CRM114 installieren
zunächst muß der filter natürlich installiert werden. ich hab dafür mal ein eigenes repository aufgesetzt. das läßt sich (an einer konsole) wie folgt in betrieb nehmen:
sudo gainroot
# eintraege hinzufuegen
echo "deb http://deb.reaktanz.de/n900 fremantle free" >>
/etc/apt/sources.list.d/hildon-application-manager.list
# optional auch der sourcecode
echo "deb-src http://deb.reaktanz.de/n900 fremantle free" >>
/etc/apt/sources.list.d/hildon-application-manager.list
# gnupg-key holen
gpg --fetch-keys http://deb.reaktanz.de/gnupg_pub_key.asc
gpg --export --armor DDCDA632 | apt-key add -
apt-get update
# CRM114 installieren
apt-get install crm114
for the record: die pakete sind mittels maemo-optify-deb optifiziert. wer sie aus den quellen nachbauen will kann diese mit "apt-get source" herunterladen.
CRM114 konfigurieren
bevor der filter verwendet werden kann sind noch ein paar kleinigkeiten zu erledigen. es empfiehlt sich, dafür das verzeichnis ~/.crm114 anzulegen und dort u.a. eine eigene konfigurationsdatei anzulegen. mit geringstem aufwand könnte man so vorgehen:
mkdir $HOME/.crm114
cd $HOME/.crm114
ln -s /usr/share/crm114/*.crm .
cp /usr/share/crm114/mailfilter.cf .
nano ./mailfilter.cf # muss unbedingt!!! editiert werden (s. howto)
touch priolist.mfp rewrites.mfp whitelist.mfp blacklist.mfp
cssutil -b -r spam.css
cssutil -b -r nonspam.css
danach kann man schonmal testen, ob der filter wie erwartet läuft:
cd $HOME/.crm114
./mailfiter.crm
# (irgendwas tippen und mit <STRG>+<D> beenden)
es sollte eine meldung zum spam-status kommen, wahrscheinlich im tenor von "unsure, train this message".
claws einrichten
ok, der filter geht und ist konfiguriert. nun muß man noch clawsl beibringen, mit ihm zu arbeiten. dazu müssen lediglich zwei filter und zwei aktionen definiert werden. im folgenden beispiel liegen die claws-mails in #mh/foo. vor dem einrichten der filter sollte man zwei ordner anlegen, in die mails je nach ergebnis verschoben werden -- ich nenne sie hier mal trash/crm114-unsure und trash/crm114-spam.
zunächst die filter -- sie sollten als erstes durchlaufen werden. ich gehe mal davon aus, daß ihr grundsätzlich wißt, wie man in claws einen filter anlegt, daher der knappheit wegen nur das ergebnisprotokoll:
# unsure -- condition:
size_smaller 262144 &
test "crm -u $HOME/.crm114 mailreaver.crm < %F | grep -q 'X-CRM114-Status.*UNSURE'"
# unsure -- action:
move "#mh/foo/trash/crm114-unsure"
stop
# spam -- condition:
size_smaller 262144 &
test "crm -u $HOME/.crm114 mailreaver.crm < %F | grep -q 'X-CRM114-Status.*SPAM'"
# spam -- action:
move "#mh/foo/trash/crm114-spam"
stop
sollte sich CRM114 unsicher sein oder mal eine mail versehentlich für spam gehalten werden, möchte es mit diesen nachrichten trainiert werden. dazu legt man abschließend noch zwei aktionen an:
# spam:
execute "crm -u $HOME/.crm114 mailreaver.crm --spam < %F"
move "#mh/foo/trash"
# no spam:
execute "crm -u $HOME/.crm114 mailreaver.crm --good < %F"
das war's. ich fand im netz nur realtiv abgehangene informationen zur kombination von claws und CRM114, in denen meist empfohlen wurde, sich eine reihe von shell-skripten zu schreiben. der hier beschriebene ansatz kommt gänzlich ohne externe skripte aus.
ich möchte an dieser stelle der mailingliste des claws-projekts danken, die mich sehr schnell auf die richtige fährte brachte, als es anfangs nicht laufen wollte.


Kein Kommentar
kommentar schreiben: