Перенаправить весь (не отклоненный) спам в специальный почтовый ящик в sa-exim

Я хотел бы перенаправить все спам (которые не были отклонены сразу) на почтовый ящик локального пользователя spam (т.е. доставлять почту spam пользователь, а не оригинальный местный получатель).

я использую sa-exim (exim 4 + spamassasin 3.2) в Debian (у него есть свой exim4.conf.template извилистый конфиг).

Я попытался добавить следующий маршрутизатор (до exim real_local):

 spams:
  debug_print = "R: spams $local_part@$domain"
  driver = redirect
  condition = ${if def:h_X-Spam-Flag {1}{0}}
  allow_fail
  allow_defer
  check_local_user
  domains = +local_domains
  data = spam@localhost

но это, похоже, не сработало вообще.

2 ответа

Решение

Дважды проверьте, что новый маршрутизатор используется exim

grep spams /var/lib/exim4/config.autogenerated

Затем выполните отладку, например:

cat message-with-header.txt | exim -bm -t -d+route

Вы должны видеть, что он проходит через каждый маршрутизатор, поэтому проверьте, работает ли он у вас, и, надеюсь, сообщите, почему он не работает (условие не выполнено, более ранний маршрутизатор уже принял сообщение и т. Д.)

Использование следующего условия прекрасно работает для меня:

  condition = "${if def:h_X-Spam-Flag: {yes}{no}}"
Другие вопросы по тегам