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