X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/011310e64f3cf2dbf3e06def04379aca28df9013..7928fb1e37e8baf5eefc315564f7bd9e00d2537d:/procmail/justme

diff --git a/procmail/justme b/procmail/justme
index f6edc50..7941e89 100644
--- a/procmail/justme
+++ b/procmail/justme
@@ -1,71 +1,110 @@
-:0
+:0 H
+*$ MSGID ?? ^<.+@$RE_MYDOMAIN>
+{
+  JUSTME="from machine in my domain"
+  LOG="justme:      passing; $JUSTME$NL"
+#  SKIP_SPAMCHECKS=from-mydomain
+}
+
+:0 EH
+*$ ^(References|In-Reply-To):.*<.+@$RE_MYDOMAIN>
+{
+  JUSTME="in-reply-to/referenced"
+  LOG="justme:      passing; $JUSTME$NL"
+  SKIP_SPAMCHECKS=in-reply-to/referenced
+}
+
+:0 E
 * ? echo "$ORIGINAL_TO" | $EGREP -qif $CONF/justme-addresses
 {
-  :0 H
-  *$ MSGID ?? ^<.+@$RE_MYDOMAIN>
+  :0
+  * ? echo "$ORIGINAL_TO" | $EGREP -qif $CONF/justme-address-exceptions
   {
-    LOG="justme:      passing; from machine in my domain$NL"
-    :0 fw
-    |$FORMAIL -I'X-Justme: from machine in my domain'
-    SKIP_SPAMCHECKS=from-mydomain
+    JUSTME="explicitly excepted address"
+    LOG="justme:      passing; $JUSTME$NL"
+  }
+  
+  :0 E
+  *$ 1^0 B ?? .*\<$RE_FIRSTNAME$RE_SPACE_NEWLINE+$RE_LASTNAME\>
+  *$ 1^0 B ?? .*\<$RE_LASTNAME[,]?$RE_SPACE_NEWLINE*$RE_FIRSTNAME\>
+  {
+    JUSTME="full name reference"
+    LOG="justme:      passing; $JUSTME$NL"
   }
 
-  :0 EH
-  *$ ^(References|In-Reply-To):.*<.+@$RE_MYDOMAIN>
+  :0 E
+  *$ B ?? .*\<$RE_LASTNAME\>
   {
-    LOG="justme:      passing; in-reply-to/referenced$NL"
-    :0 fw
-    |$FORMAIL -I'X-Justme: in-reply-to/referenced'
-    SKIP_SPAMCHECKS=in-reply-to/referenced
+    JUSTME="last name reference"
+    LOG="justme:      passing; $JUSTME$NL"
   }
 
   :0 E
-  * ? echo "$ORIGINAL_TO" | $EGREP -qif $CONF/justme-address-exceptions
-  { 
-    LOG="justme:      passing; explicitly excepted address$NL"
-    :0 fw
-    |$FORMAIL -I'X-Justme: in-reply-to/referenced'
+  *  1^0 B ?? .*\<madduck\>
+  * -1^0 B ?? mass\.madduck\.net
+  {
+    JUSTME="nickname reference"
+    LOG="justme:      passing; $JUSTME$NL"
   }
 
   :0 EBH
-  *$ 1^0 B ?? $RE_FIRSTNAME$RE_SPACE_NEWLINE+$RE_LASTNAME
-  *$ 1^0 B ?? $RE_LASTNAME[,]?$RE_SPACE_NEWLINE*$RE_FIRSTNAME
+  *$ ? $EGREP -qif $CONF/justme-keyword-exceptions
   {
-    LOG="justme:      passing; full name reference$NL"
-    :0 fw
-    |$FORMAIL -I'X-Justme: full name reference'
+    JUSTME="keyword reference"
+    LOG="justme:      passing; $JUSTME$NL"
   }
 
-  :0 EBH
-  *$ B ?? $RE_LASTNAME
+  :0 E
+  * MSGID ?? ^<mailman
+  * ORIGINAL_TO ?? ^[^=]+=[^@]+@mass\.madduck\.net$
   {
-    LOG="justme:      passing; last name reference$NL"
-    :0 fw
-    |$FORMAIL -I'X-Justme: last name reference'
+    :0
+    * FROM ?? -request@
+    * SUBJECT ?? ^confirm [0-9a-f]+$
+    {
+      JUSTME="mailman confirmation"
+      LOG="justme:      passing; $JUSTME$NL"
+    }
+
+    :0 E
+    * FROM ?? -bounces@
+    * SUBJECT ?? ^You have been unsubscribed
+    {
+      JUSTME="mailman confirmation"
+      LOG="justme:      passing; $JUSTME$NL"
+    }
+
+    :0 E
+    * FROM ?? -bounces@
+    * SUBJECT ?? .+ mailing list reminder$
+    {
+      JUSTME="mailman password reminder"
+      LOG="justme:      passing; $JUSTME$NL"
+    }
   }
 
-  :0 EBH
-  *  1^0 B ?? madduck
-  * -1^0 B ?? mass\.madduck\.net
+  :0 E
+  * FROM ?? ^[Mm]ajordomo@
+  * ORIGINAL_TO ?? ^[^=]+=[^@]+@mass\.madduck\.net$
+  * SUBJECT ?? ^Confirmation for
   {
-    LOG="justme:      passing; nickname reference$NL"
-    :0 fw
-    |$FORMAIL -I'X-Justme: nickname reference'
+    JUSTME="majordomo confirmation"
+    LOG="justme:      passing; $JUSTME$NL"
   }
 
-  :0 EBH
-  *$ ? $EGREP -qif $CONF/justme-keyword-exceptions
+  :0 E
+  * FROM ?? ^noreply@googlegroups\.com$
+  * ORIGINAL_TO ?? ^[^=]+=[^@]+@mass\.madduck\.net$
+  * SUBJECT ?? ^Google Groups: Please confirm
   {
-    LOG="justme:      passing; keyword reference$NL"
-    :0 fw
-    |$FORMAIL -I'X-Justme: keyword reference'
+    JUSTME="googlegroups confirmation"
+    LOG="justme:      passing; $JUSTME$NL"
   }
 
   :0 E
-  { 
+  {
     LOG="justme:      discarding$NL"
-    :0
-    $DISCARD
+    SWITCHRC=$PMDIR/discard
   }
 }