将所有(未被拒绝的)垃圾邮件redirect到sa-exim中的特殊邮箱

我希望将所有垃圾邮件(不是完全拒绝)redirect到本地用户spam邮箱(即将spam传递给spam用户而不是原始本地收件人)。

我在Debian上使用sa-exim (exim 4 + spamassasin 3.2)(它有自己的exim4.conf.template复杂configuration)。

我试过添加下面的路由器(在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 

但似乎并没有被触发。

仔细检查新的路由器是否被exim使用

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

然后做一些debugging,如:

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

你应该看到它通过每个路由器运行,所以检查它是否运行你的,并希望告诉你为什么它不工作(条件失败,早期的路由器已经收到消息等)

使用以下条件适用于我:

  condition = "${if def:h_X-Spam-Flag: {yes}{no}}"