## If the client is trusted, don't bother with any of this.
accept hosts = +trusted
+ ## Check header validity.
+ require verify = header_syntax
+
## Check the message for spam, comparing to the configured limit.
deny spam = exim:true
message = Tinned meat product detected ($spam_score)
## Insert headers from the spam check now that we've decided to
## accept the message.
warn
+
## Convert the limit (currently 10x fixed point) into a
## decimal for presentation.
set acl_m_spam_limit_presentation = \
## their scores. Leave `<<...>>' around everything else.
set acl_m_spam_tests = \
${sg{$acl_m_spam_tests} \
- {\N(?s)\n\s*([\d.]+)\s+([-\w]+)\s\N} \
+ {\N(?s)\n\s*(-?[\d.]+)\s+([-\w]+)\s\N} \
{>>\$2:\$1,<<}}
## Strip everything still in `<<...>>' pairs, including any
limit=$acl_m_spam_limit_presentation, \n\t\
tests=$acl_m_spam_tests
-
## We're good.
accept