public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
PHP
49%
JavaScript
35%
HTML
9%
CSS
4%
Shell
2%
Python
1%
Lua
0%
Perl
0%
Ruby
0%
SCSS
0%
Create file
Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Commit
[Dovecot] Rename sieve_after to global_sieve_after and create a global_sieve_before file
dcacf85a
data/Dockerfiles/dovecot/docker-entrypoint.sh | 10 +++++++---
data/conf/dovecot/dovecot.conf | 5 +++--
data/conf/dovecot/{sieve_after => global_sieve_after} | 3 +++
data/conf/dovecot/global_sieve_before | 2 ++
docker-compose.yml | 2 +-
5 files changed, 16 insertions(+), 6 deletions(-)
rename data/conf/dovecot/{sieve_after => global_sieve_after} (74%)
create mode 100644 data/conf/dovecot/global_sieve_before
Diff
diff --git a/data/Dockerfiles/dovecot/docker-entrypoint.sh b/data/Dockerfiles/dovecot/docker-entrypoint.sh
index e11977b8..5b91a665 100755
--- a/data/Dockerfiles/dovecot/docker-entrypoint.sh
+++ b/data/Dockerfiles/dovecot/docker-entrypoint.sh
@@ -118,8 +118,11 @@ default_pass_scheme = SSHA256
password_query = SELECT password FROM mailbox WHERE active = '1' AND username = '%u' AND domain IN (SELECT domain FROM domain WHERE domain='%d' AND active='1') AND JSON_EXTRACT(attributes, '$.force_pw_update') NOT LIKE '%%1%%'
EOF
-# Create global sieve_after script
-cat /usr/local/etc/dovecot/sieve_after > /var/vmail/sieve/global.sieve
+# Migrate old sieve_after file
+[[ -f /usr/local/etc/dovecot/sieve_after ]] && mv /usr/local/etc/dovecot/sieve_after /usr/local/etc/dovecot/global_sieve_after
+# Create global sieve scripts
+cat /usr/local/etc/dovecot/global_sieve_after > /var/vmail/sieve/global_sieve_after.sieve
+cat /usr/local/etc/dovecot/global_sieve_before > /var/vmail/sieve/global_sieve_before.sieve
# Check permissions of vmail/attachments directory.
# Do not do this every start-up, it may take a very long time. So we use a stat check here.
@@ -181,7 +184,8 @@ else
fi
# Compile sieve scripts
-sievec /var/vmail/sieve/global.sieve
+sievec /var/vmail/sieve/global_sieve_before.sieve
+sievec /var/vmail/sieve/global_sieve_after.sieve
sievec /usr/local/lib/dovecot/sieve/report-spam.sieve
sievec /usr/local/lib/dovecot/sieve/report-ham.sieve
diff --git a/data/conf/dovecot/dovecot.conf b/data/conf/dovecot/dovecot.conf
index 75089a0b..cf6b5d12 100644
--- a/data/conf/dovecot/dovecot.conf
+++ b/data/conf/dovecot/dovecot.conf
@@ -331,9 +331,10 @@ plugin {
sieve_vacation_min_period = 5s
sieve_vacation_max_period = 0
sieve_vacation_default_period = 60s
- sieve_before = dict:proxy::sieve_before;name=active;bindir=/var/vmail/sieve_before_bindir
+ sieve_before = /var/vmail/sieve/global_sieve_before.sieve
+ sieve_before2 = dict:proxy::sieve_before;name=active;bindir=/var/vmail/sieve_before_bindir
sieve_after = dict:proxy::sieve_after;name=active;bindir=/var/vmail/sieve_after_bindir
- sieve_after2 = /var/vmail/sieve/global.sieve
+ sieve_after2 = /var/vmail/sieve/global_sieve_after.sieve
# -- Global keys
mail_crypt_global_private_key = </mail_crypt/ecprivkey.pem
diff --git a/data/conf/dovecot/sieve_after b/data/conf/dovecot/global_sieve_after
similarity index 74%
rename from data/conf/dovecot/sieve_after
rename to data/conf/dovecot/global_sieve_after
index 2e0cfe08..e047136e 100644
--- a/data/conf/dovecot/sieve_after
+++ b/data/conf/dovecot/global_sieve_after
@@ -1,3 +1,6 @@
+# global_sieve_after script
+# global_sieve_before -> user sieve_before (mailcow UI) -> user sieve_after (mailcow UI) -> global_sieve_after
+
require "fileinto";
require "mailbox";
require "variables";
diff --git a/data/conf/dovecot/global_sieve_before b/data/conf/dovecot/global_sieve_before
new file mode 100644
index 00000000..e6a523d4
--- /dev/null
+++ b/data/conf/dovecot/global_sieve_before
@@ -0,0 +1,2 @@
+# global_sieve_before script
+# global_sieve_before -> user sieve_before (mailcow UI) -> user sieve_after (mailcow UI) -> global_sieve_after
diff --git a/docker-compose.yml b/docker-compose.yml
index 04b4a6e7..de70e631 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -173,7 +173,7 @@ services:
- sogo
dovecot-mailcow:
- image: mailcow/dovecot:1.76
+ image: mailcow/dovecot:1.77
build: ./data/Dockerfiles/dovecot
cap_add:
- NET_BIND_SERVICE