Я искал все утро и ничего не нашел.
У меня есть debian box с dovecot IMAP. Я хочу обучить spamassassin с папками спама пользователей.
есть ли что-то подобное, например sa-learn-cyrus для dovecot?
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 search
читать обучающие письма из определенных папок IMAP в моей учетной записи.
Применяются обычные заявления об отказе от ответственности, это некрасиво, но для меня работает. Вам также придется удалить crm114 mailtrainer.crm
звоните в конце.
Редактировать: Я понял, что мой скрипт также использует функцию crm114 (каталог кеша всех обработанных сообщений в crm114 / reaver_cache / text), поэтому он не будет работать для обычных установок.