Tim Jackson wrote:
> (http://www.exim.org/exim-html-4.50/doc/html/FAQ_9.html#TOC288), which
I'm using this:
if first_delivery then
headers remove
X-Spam-Score:X-Spam-Report:X-Spam-Checker-Version:X-Spam-Status:X-Spam-Level
if $acl_m0 is not ""
then
headers add "X-Spam-Status: $acl_m0"
headers add "X-Spam-Report: $acl_m1"
endif
...
endif
and set acl_m0/1 in the appropriate ACL stanza:
# spam scanning
warn !hosts = +spam_host_whitelist
condition = ${if <{$message_size}{200k}}
spam = nobody:true/defer_ok
set acl_m0 = ${if >={$spam_score_int}{50} {Yes}{No}},
score=$spam_score
set acl_m1 = $spam_report
> IN APPROPRIATE ROUTERn:
> headers_remove = Subject
I used something similar for a while, but I don't see what's better
about it.
> Superficially, this appears to work. Am I missing some obvious downside
> to this method? Is there something about the processing of headers_add
As Andreas already pointed out, it may go wild on delivery retries.
And it goes wrong if there's a X-Spam-Flag header by somebody else. It's
better to rely on Exim's inband information (like $acl_m? or $spam_*),
not something that could be set arbitrarily.
I'm not sure right now, but I think you can also use the $spam_*
variables in your router. (Too bad they are not set in filters....)