]> git.donarmstrong.com Git - bin.git/commitdiff
update learn from spam to archive spam which still doesn't scan as spam
authorDon Armstrong <don@donarmstrong.com>
Fri, 14 Feb 2014 00:13:11 +0000 (16:13 -0800)
committerDon Armstrong <don@donarmstrong.com>
Fri, 14 Feb 2014 00:13:11 +0000 (16:13 -0800)
learn_from_spam

index 0072598b6fd7c210efcfd492b0ccfce8f7e2d50a..96f9bd97400a81e2934f21e74019815ab600a8e2 100755 (executable)
@@ -1,13 +1,28 @@
 #!/bin/bash
 
+# these are for non-spamc setups
+SPAM_REPORT="spamassassin --report"
+HAM_REPORT="spamassassin --revoke"
+SPAM_CHECK="spamassassin -e"
+
+# these are for spamc
+SPAM_REPORT="spamc --learntype=spam"
+HAM_REPORT="spamc --learntype=ham"
+SPAM_CHECK="spamc -c"
+
 if [ "$(basename $0)" = "learn_from_spam" ]; then
     for file in "$@"; do
-        spamassassin -r < "$file" >/dev/null;
+        $SPAM_REPORT < "$file" >/dev/null;
         grep -e '^From ' -e 'From: ' "$file" | spamassassin -R >/dev/null;
+        # check to see if it's still spam
+        if ! spam -c < "$file"; then
+            # this message is still not spam; may need custom rules
+            cp "$file" ~/Mail/spam/needs_rules/cur/;
+        fi;
     done;
 elif [ "$(basename $0)" = "learn_from_ham" ]; then
     for file in "$@"; do
-        spamassassin -k < "$file" >/dev/null;
+        $HAM_REPORT < "$file" >/dev/null;
         grep -e '^From ' -e 'From: ' -e 'To: ' -e 'Cc: ' "$file"|spamassassin -W>/dev/null;
     done;
 else