Назад | Перейти на главную страницу

Настройка Postfix, Spamassassin и Procmail для помещения спама в выделенную папку

Я не уверен, что SF - хорошее место для этого, так что извините, если это не так. Я администрирую сервер Debian для электронной почты нашей компании, и я пытаюсь, чтобы электронные письма, помеченные Spamassassin как спам, помещались в отдельную папку для каждого пользователя (например, Spam / или Junk /), но мне не удается это сделать. Это. У меня уже есть Postfix и SpamAssassin, которые работают нормально (SA правильно помечает спам-сообщения в поле темы), но теперь я должен установить фильтр Procmail, чтобы помещать их туда, где я хочу.

Вот что у меня есть: в моем /etc/postfix/master.cf у меня есть правило SA:

spamassassin unix -     n       n       -       -       pipe
    user=spamd argv=/usr/bin/spamc -f -e
    /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Я попытался добавить правило для фильтрации спама:

spamfilter    unix    -       n       n       -       -      pipe
  flags=Rq user=vmail argv=/usr/bin/procmail -Y -m /etc/postfix/procmail-spamassassin.rc

И мой /etc/postfix/procmail-spamassassin.rc:

SHELL=/bin/sh
LOGFILE=/var/log/procmail.log
VERBOSE=yes
LOGABSTRACT=all

:0
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
Junk

Но это не работает, и я не могу понять, почему ... У меня нет вывода в procmail.log, поэтому я не могу понять, как это отладить (мой журнал Postfix больше не дает). postfix reload похоже, игнорирует мои изменения. Я пробовал много других конфигураций, например, mailbox_command в моем main.cf использовать Procmail, и это не лучше ... Для информации мы используем виртуальные почтовые ящики Postfix (почтовые ящики хранятся в MySQL, а не сопоставлены с учетными записями Unix).

Я знаю, что Procmail может работать таким образом, потому что в моем master.cf есть аналогичный фильтр отпуска, и он работает:

vacation   unix    -       n       n       -       10      pipe
  flags=Rq user=vacation argv=/usr/bin/procmail -Y -m /etc/postfix/procmail-global-repondeur.rc ${sender} ${recipient}

Вы видите, что я сделал не так?

Почему бы просто не указать в качестве конечного пункта назначения почты procmail? Нет необходимости устанавливать другой транспорт. Посмотрите в mailbox_command значение в main.cf.

Вы добавляли «спамфильтр» в таблицу «транспорт»?