spam.m4: Don't check submitted messages.
[exim-config] / spam.m4
diff --git a/spam.m4 b/spam.m4
index b20b7e0..e480880 100644 (file)
--- a/spam.m4
+++ b/spam.m4
@@ -72,10 +72,26 @@ SECTION(acl, rcpt-hooks)m4_dnl
        require  acl = rcpt_spam
 
 SECTION(acl, misc)m4_dnl
-rcpt_spam:
+skip_spam_check:
 
-       ## If the client is trusted, don't bother with any of this.
+       ## If the client is trusted, or this is a new submission, don't
+       ## bother with any of this.  We will have verified the sender
+       ## fairly aggressively before granting this level of trust.
        accept   hosts = +trusted
+       accept   condition = ${if eq{$acl_c_mode}{submission}}
+
+       ## Otherwise we should check.
+       deny
+
+rcpt_spam:
+
+       ## See if we should do this check.
+       accept   acl = skip_spam_check
+
+       ## Always accept mail to `postmaster'.  Currently this is not
+       ## negotiable; maybe a tweak can be added to `domains.conf' if
+       ## necessary.
+       accept   local_parts = postmaster
 
        ## Collect the user's spam threshold from the `address_data'
        ## variable, where it was left by the `fetch_spam_limit' router
@@ -113,8 +129,8 @@ SECTION(acl, data-spam)m4_dnl
 SECTION(acl, misc)m4_dnl
 data_spam:
 
-       ## If the client is trusted, don't bother with any of this.
-       accept   hosts = +trusted
+       ## See if we should do this check.
+       accept   acl = skip_spam_check
 
        ## Check header validity.
        require  verify = header_syntax