Я реализовал фильтрацию почты spamassassin в моей настройке postfix, используя -o content_filter=spamassassin
и такой транспорт:
spamassassin unix - n n - - pipe
user=spamassassin argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
Затем я хотел бы реализовать пользовательские настройки spamassassin с помощью sql, используя user_prefs
вариант, как описано Вот.
Я исследовал это, создав сценарий оболочки для sendmail (поскольку он получил ${recipient}
в любом случае в качестве аргумента).
#!/bin/bash
echo "$@" >> /var/log/sendmail-test.log
/usr/sbin/sendmail-orig "$@"
Этот небольшой фрагмент кода на самом деле показал, что псевдонимы, похоже, обрабатываются перед передачей spamassassin. Замечательно.
Еще одна важная вещь, которую я заметил при этом, - это то, что важно включить такую строку в ваш main.cf:
spamassassin_destination_recipient_limit = 1
Если нет, ${recipient}
будет содержать несколько пользователей, что также приведет к сбою пользовательских настроек.
При такой настройке spamc может вызываться много раз с одной и той же почтой, но с разными пользователями снова и снова. Это приводит к другому вопросу: Как spamassassin обрабатывает письма с одинаковым содержанием, но только с другим получателем?