commit 9a2e9ae99cd854e113fce1edfa1b9ba85f161a93
parent f5b409389db0f0297611c3c2694fdab91e27b273
Author: Jaromil <jaromil@dyne.org>
Date:   Fri, 17 Oct 2014 11:03:56 +0200
new automatic mailinglist filters server-side
Diffstat:
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/src/zlibs/filters b/src/zlibs/filters
@@ -480,7 +480,7 @@ update_sieve() {
     chmod 600 "$MAILDIRS/Filters.sieve"
     cat <<EOF >> "$MAILDIRS/Filters.sieve"
 # mailbox supports fileinto :create
-require ["fileinto","mailbox"];
+require ["fileinto","mailbox","variables"];
 
 EOF
 
@@ -577,12 +577,16 @@ EOF
 
     # unsorted
     cat <<EOF >> "$MAILDIRS/Filters.sieve"
-if anyof (header :contains "X-BeenThere" "list",
-          header :contains "X-Mailman-Version" ".",
-          header :contains "List-Post" "@",
-          header :matches "List-Id" ".*",
-          header :matches "Mailing-List" ".*")
-{ fileinto :create "ml.unsorted"; stop; }
+if header :matches "List-Id" "*<*>" {
+  fileinto :create "lists.\${2}"; stop; }
+elsif header :matches "X-BeenThere" "*@*" {
+ fileinto :create "lists.\${1}.\${2}"; stop; }
+elsif header :matches "List-Post" "<mailto:*@*" {
+ fileinto :create "lists.\${1}.\${2}"; stop; }
+
+if anyof (header :contains "X-Mailman-Version" ".",
+          header :contains "Mailing-List" ".") {
+  fileinto :create "lists.unsorted"; stop; }
 
 fileinto :create "unsorted";
 EOF