Доставлять сообщения fetchmail двум различным MDA

Я бегу fetchmail на сервере AntiSpam для получения сообщений из папки нежелательной почты пользователя для подачи байесовской фильтрации SpamAssassin. Это хорошо работает с -m вариант в fetchmail доставить сообщения SpamAssassin sa-learn инструмент.

Но я бы хотел начать тестирование Bogofilter и соответственно заполнить базу данных Bogofilter. Но для этого fetchmail следует доставлять сообщения в SpamAssassin и Bogofilter, используя -m было не идти.

Есть способ достичь этого с fetchmail? Я рассмотрел некоторые дополнительные MDA как procmail или же maildrop, но я не уверен, действительно ли это необходимо или это будет работать.

РЕДАКТИРОВАТЬ: мой факт fetchmail Команда для получения сообщений с почтового сервера:

echo "poll $mailserver proto IMAP user $domain\\$user\\$mailbox pass $passwd ssl" \
| fetchmail -a -n -p IMAP --folder "$junkfolder" -f - -m '/usr/local/bin/sa-learn \
-C /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --spam'

РЕДАКТИРОВАТЬ: Я получил это! Отвечая на мой собственный вопрос...

1 ответ

Это достаточно легко сделать, если вы используете Procmail в качестве LDA. Вот рецепт Procmail, чтобы передать сообщение двум различным сценариям, а затем доставить его в СПАМ. (Доставить /dev/null вместо этого, если вы не хотите его хранить; или, что то же самое, удалите c флаг из последнего рецепта.)

# I doubt this is necessary, but since you were using an explicit path name...
PATH=/usr/local/bin:$PATH

:0c
| sa-learn -C /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --spam

:0c
| bogofilter

:0
SPAM/

Нетрудно написать сценарий оболочки, который выполняет те же действия, но Procmail делает кучу вещей, чтобы убедиться, что электронная почта не потеряна и не доставлена ​​небезопасно, поэтому она хороша как обертка.

Другие вопросы по тегам