Я смотрел целое утро и ничего не нашел.
У меня есть debian поле рабочая голубятня IMAP. Я хочу обучить spamassassin с пользовательскими папками для спама.
действительно ли там что-то подобно как sa-learn-cyrus для голубятни?
SpamAssassin поставляется с sa-learn
из коробки (не путать с sa-learn-cyrus
, о котором вы упоминали). Он поставляется с двумя режимами обучения - ветчиной и спамом. Потребуется очень, очень простой скрипт, чтобы пройтись по почтовому ящику каждого пользователя, делая сначала "ветчину", а затем второй проход для "спама". Что-то (приблизительно) вроде:
#!/bin/bash
# change these to reflect the folder layout used on your server
BASEDIR=/home
UINBOX=Maildir/Inbox
USPAMBOX=Maildir/Spam
# do some housekeeping...
sa-learn --force-expire
# enumerate each user and process ham/spam
for USRNAME in `ls -l /home`
do
for MAILSTATE in new cur
do
sa-learn --ham $BASEDIR/$USRNAME/$UINBOX/$MAILSTATE/*
sa-learn --spam $BASEDIR/$USRNAME/$USPAMBOX/$MAILSTATE/*
done
done
Поместите в файл, назовем его sa-trainer.sh
. Я включил в этот процесс уже прочитанную почту, на всякий случай, если что-то будет прочитано (намеренно или случайно). Это не будет иметь большого значения для процесса, так как дубликаты будут обнаружены и эффективно проигнорированы.
Я написал свой собственный скрипт, используя поиск по doveadm
для чтения обучающей почты из определенных папок IMAP в моей собственной учетной записи.
Применяются обычные отказы от ответственности, это не красиво, но работает на меня.
Вам также придётся удалить вызов crm114 mailtrainer.crm
в конце.
Правка: Я понял, что мой скрипт также использует возможность crm114 (кэш-директор всех обработанных сообщений в crm114/reaver_cache/texts), так что он не будет работать при обычных установках.
.