]>
git.madduck.net Git - etc/mailfilter.git/commitdiff
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:
summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (parent:
5af333c )
-# CRM_ RETRAIN
-# if set, causes crm114 to be retrained, according to the variable's value
-CRM_ RETRAIN
+# RETRAIN
+# if set, causes spamfilters to be retrained, according to the variable's value
+RETRAIN
# symptom: $IS_SPAM is set
# reaction: file as spam
#
# symptom: $IS_SPAM is set
# reaction: file as spam
#
-# 4a . message needs to be retrained as spam
-# symptom: $CRM_ RETRAIN is set to spam
+# 4. message needs to be retrained as spam
+# symptom: $RETRAIN is set to spam
# reaction: retrain filters, report, and file as spam
#
# reaction: retrain filters, report, and file as spam
#
-# 4b. message is spamtrapped
-# symptom: $SPAMTRAPPED is set
-# reaction: train filters, report, and file as spam
-#
# 5. message needs to be retrained as ham
# 5. message needs to be retrained as ham
-# symptom: $CRM_ RETRAIN is set to ham
+# symptom: $RETRAIN is set to ham
# reaction: retrain crm114 and resubmit the message to the spamfilter
#
# 6. spam degree is unknown:
# reaction: retrain crm114 and resubmit the message to the spamfilter
#
# 6. spam degree is unknown:
-* 1^0 CRM_RETRAIN ?? spam
-* 1^0 SPAMTRAPPED ?? .
{
LOG="spamfilter: (re)training as spam$NL"
:0 fw
{
LOG="spamfilter: (re)training as spam$NL"
:0 fw
{
LOG="spamfilter: retraining as ham$NL"
:0 fw
{
LOG="spamfilter: retraining as ham$NL"
:0 fw
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
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)"
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)"
}
# skip retraining if SA is not convinced
}
# skip retraining if SA is not convinced
* ? 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"
: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)"
}
* ? 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"
: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)"
}
|$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