exim: Restructure the spam handling acls.
[matthijs/servers/drsnuggles.git] / etc / exim4 / conf.d / acl / 40_exim4-config_check_data
index 9933c39e05f9addb6909cee712c3c6709933312a..58a65f3f148caf65d85eab9e918419cc3a9a65e4 100644 (file)
@@ -22,27 +22,21 @@ acl_check_data:
     message = No verifiable sender address in message headers
     !verify = header_sender
 
-  # Mark messages with their spamscore and deny messages with a very high
-  # score.
+  # Don't spamcheck big messages
+  accept
+    condition = ${if >{$message_size}{80k}}
+    add_header = X-Spam-Report: Message too big, not scanned.
+
+  # Deny messages with a large spamscore. The threshold is set by
+  # spamassassin, see required_score in /etc/spamassassin/local.cf
   deny
     message = Message was classified as spam
-    # Only scan messages that are small, since spam is hardly ever big (and
-    # scanning big messages costs lots of resources
-    condition = ${if <{$message_size}{80k}}
-    # Check using spamassasin's default profile (the name "default" should just
-    # be any non-existing profile to get the default configuration). This
-    # condition will always succeed, since spam assassin is configured with a
-    # very low (even negative) threshold.
-    spam = default
-    # Add spam headers (these will be added even when the next condition fails
-    # and the message is not denied).
-    add_header = X-Spam-Score: $spam_score ($spam_bar)
-    add_header = X-Spam-Report: $spam_report
-    # Reject any messages with a spam score of more than 20. This is fairly
-    # high, but we don't like really rejecting messages.
-    condition = ${if >{$spam_score_int}{20}}
+    # Check using spamassasin, running as the "spamd" user.
+    spam = spamd
 
-  # accept otherwise
+  # Accept any other messages, but add spam headers.
   accept
+    add_header = X-Spam-Score: $spam_score ($spam_bar)
+    add_header = X-Spam-Report: $spam_report
 
 # vim: set sts=2 expandtab sw=2 ai: