]> git.madduck.net Git - etc/mailfilter.git/blobdiff - procmail/spamfilter

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

only retrain spamtrapped ham
[etc/mailfilter.git] / procmail / spamfilter
index a882087f3a732d052e0501f46452d00530bed70e..0fab78829bc4b9ded784a405f259ab3377c082a8 100755 (executable)
@@ -21,13 +21,14 @@ PMDIR=${PMDIR:-$HOME/.etc/mailfilter/procmail}
 INCLUDERC=$PMDIR/pre-spam-cleanup
 
 # no need to reprocess messages that went into a spamtrap
 INCLUDERC=$PMDIR/pre-spam-cleanup
 
 # no need to reprocess messages that went into a spamtrap
-:0
-* SPAMTRAPPED ?? .
-{ 
-  LOG="spamfilter:  skipping checks for spamtrapped message$NL"
-  :0 fw
-  |$FORMAIL -I"X-Spam: spamtrapped"
-}
+# UPDATE: retrain them only if diagnosed as non-spam, see below
+#:0
+#* SPAMTRAPPED ?? .
+#{ 
+#  LOG="spamfilter:  skipping checks for spamtrapped message$NL"
+#  :0 fw
+#  |$FORMAIL -I"X-Spam: spamtrapped"
+#}
 
 # let earlier parts of the mailfilter cause bypassing the checks
 :0 E
 
 # let earlier parts of the mailfilter cause bypassing the checks
 :0 E
@@ -119,7 +120,7 @@ INCLUDERC=$PMDIR/pre-spam-cleanup
       LOG="spamfilter:  scheduling crm114 retraining with HAM (score $SA_SCORE <= $CRM_UNSURE_SA_AUTOTRAIN_LIMIT_HAM)$NL"
       :0 fw
       |$FORMAIL -A "X-CRM114-Autotrain: ham, according to SA (score $SA_SCORE <= $CRM_UNSURE_SA_AUTOTRAIN_LIMIT_HAM)"
       LOG="spamfilter:  scheduling crm114 retraining with HAM (score $SA_SCORE <= $CRM_UNSURE_SA_AUTOTRAIN_LIMIT_HAM)$NL"
       :0 fw
       |$FORMAIL -A "X-CRM114-Autotrain: ham, according to SA (score $SA_SCORE <= $CRM_UNSURE_SA_AUTOTRAIN_LIMIT_HAM)"
-      CRM_RETRAIN=ham
+      RETRAIN=ham
     }
 
     # retrain as spam
     }
 
     # retrain as spam
@@ -129,7 +130,7 @@ INCLUDERC=$PMDIR/pre-spam-cleanup
       LOG="spamfilter:  scheduling crm114 retraining with SPAM (score $SA_SCORE > $CRM_UNSURE_SA_AUTOTRAIN_LIMIT_SPAM)$NL"
       :0 fw
       |$FORMAIL -A "X-CRM114-Autotrain: spam, according to SA (score $SA_SCORE > $CRM_UNSURE_SA_AUTOTRAIN_LIMIT_SPAM)"
       LOG="spamfilter:  scheduling crm114 retraining with SPAM (score $SA_SCORE > $CRM_UNSURE_SA_AUTOTRAIN_LIMIT_SPAM)$NL"
       :0 fw
       |$FORMAIL -A "X-CRM114-Autotrain: spam, according to SA (score $SA_SCORE > $CRM_UNSURE_SA_AUTOTRAIN_LIMIT_SPAM)"
-      CRM_RETRAIN=spam
+      RETRAIN=spam
     }
 
     # skip retraining if SA is not convinced
     }
 
     # skip retraining if SA is not convinced
@@ -152,7 +153,7 @@ INCLUDERC=$PMDIR/pre-spam-cleanup
     * ? perl -e "$SA_SCORE <= $CRM_MISCLASSIFY_SA_AUTOTRAIN_LIMIT_HAM || exit 1"
     {
       LOG="spamfilter:  crm114 found spam ($CRM_SCORE), but SA is more convincing ($SA_SCORE <= $CRM_MISCLASSIFY_SA_AUTOTRAIN_LIMIT_HAM)$NL"
     * ? perl -e "$SA_SCORE <= $CRM_MISCLASSIFY_SA_AUTOTRAIN_LIMIT_HAM || exit 1"
     {
       LOG="spamfilter:  crm114 found spam ($CRM_SCORE), but SA is more convincing ($SA_SCORE <= $CRM_MISCLASSIFY_SA_AUTOTRAIN_LIMIT_HAM)$NL"
-      CRM_RETRAIN=ham
+      RETRAIN=ham
       :0 fw
       |$FORMAIL -A "X-CRM114-Retrain: ham, according to SA (score $SA_SCORE <= $CRM_MISCLASSIFY_SA_AUTOTRAIN_LIMIT_HAM)"
     }
       :0 fw
       |$FORMAIL -A "X-CRM114-Retrain: ham, according to SA (score $SA_SCORE <= $CRM_MISCLASSIFY_SA_AUTOTRAIN_LIMIT_HAM)"
     }
@@ -177,7 +178,7 @@ INCLUDERC=$PMDIR/pre-spam-cleanup
     * ? perl -e "$SA_SCORE > $CRM_MISCLASSIFY_SA_AUTOTRAIN_LIMIT_SPAM || exit 1"
     {
       LOG="spamfilter:  crm114 found ham ($CRM_SCORE), but SA is more convincing ($SA_SCORE > $CRM_MISCLASSIFY_SA_AUTOTRAIN_LIMIT_SPAM)$NL"
     * ? perl -e "$SA_SCORE > $CRM_MISCLASSIFY_SA_AUTOTRAIN_LIMIT_SPAM || exit 1"
     {
       LOG="spamfilter:  crm114 found ham ($CRM_SCORE), but SA is more convincing ($SA_SCORE > $CRM_MISCLASSIFY_SA_AUTOTRAIN_LIMIT_SPAM)$NL"
-      CRM_RETRAIN=spam
+      RETRAIN=spam
       :0 fw
       |$FORMAIL -A "X-CRM114-Retrain: spam, according to SA (score $SA_SCORE > $CRM_MISCLASSIFY_SA_AUTOTRAIN_LIMIT_SPAM)"
     }
       :0 fw
       |$FORMAIL -A "X-CRM114-Retrain: spam, according to SA (score $SA_SCORE > $CRM_MISCLASSIFY_SA_AUTOTRAIN_LIMIT_SPAM)"
     }
@@ -205,5 +206,11 @@ INCLUDERC=$PMDIR/pre-spam-cleanup
   |$FORMAIL -I"X-Spam: no (crm114:$CRM_SCORE SA:$SA_SCORE)"
 }
 
   |$FORMAIL -I"X-Spam: no (crm114:$CRM_SCORE SA:$SA_SCORE)"
 }
 
+# schedule spamtrapped ham for retraining as spam
+:0
+* SPAMTRAPPED ?? .
+* ! IS_SPAM ?? .
+{ RETRAIN=spam }
+
 INCLUDERC=$PMDIR/handlespam
 #VERBOSE=no
 INCLUDERC=$PMDIR/handlespam
 #VERBOSE=no