dovecot ignores users sieve-script
Jakobus Schürz
wertstoffe at nurfuerspam.de
Thu Nov 7 14:30:45 EET 2019
Hi there!
I recognized that dovecot ignores users sieve-script. The global and the
post-sieve-scripts are working, but users sievescript is ignored.
You can see the sieve trace-files last lines
65: finishing match with result: not matched
65: jump if result is true
65: not jumping
65: jumping to line 67
67: jumping to line 77
## Finished executing script 'global'
## Started executing script 'junk'
2: header test
2: starting `:contains' match with `i;ascii-casemap' comparator:
2: extracting `X-Spam' headers from message
2: finishing match with result: not matched
2: jump if result is false
2: jumping to line 6
## Finished executing script 'junk'
Between global and junk-Script should sieve run users sieve script.
Before the Upgrade to 2.3.8 sieve was working correct. Now ALL messages
go to INBOX, no one is filtered anymore.
compiling the sievescript with
sudo -u vmail sievec sievefilter.sieve
gives no errormessage...
My users sievefilter is:
/var/mail/jakobus.schuerz/sieve/sievefilter.sieve
This directory contains:
lrwxrwxrwx 1 vmail vmail 17 Nov 7 12:44 jakobus.schuerz.sieve ->
sievefilter.sieve
-rw------- 1 vmail vmail 36834 Nov 7 13:25 jakobus.schuerz.svbin
-rw------- 1 vmail vmail 45588 Nov 7 11:43 sievefilter.sieve
The dovecot conf dump:
# 2.3.8 (9df20d2db): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.8 (b7b03ba2)
# OS: Linux 4.19.0-6-amd64 x86_64 Debian 10.1 # Hostname:
mail.mydomain.example
auth_mechanisms = plain login cram-md5 digest-md5
auth_socket_path = /var/run/dovecot/auth-userdb
disable_plaintext_auth = no
first_valid_uid = 1000
imap_capability = +XDOVECOT +SPECIAL-USE
imap_client_workarounds = tb-extra-mailbox-sep tb-lsub-flags delay-newmail
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
listen = *, ::1
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c
tls=%k
login_trusted_networks = 127.0.0.1/8 192.168.0.0/24 192.168.1.0/24
172.17.0.0/24 172.18.0.0/24
mail_gid = vmail
mail_home = /var/mail/%u
mail_location =
maildir:~/Maildir:LAYOUT=fs:INDEX=/var/lib/dovecot/db/indexes/Maildir/%u:CONTROL=/var/lib/dovecot/db/control/Maildir/%u
mail_plugins = zlib quota acl listescape mail_log notify virtual fts
fts_lucene
mail_privileged_group = vmail
mail_server_admin = mailto:user at mydomain.example
mail_shared_explicit_inbox = yes
mail_uid = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date index ihave duplicate mime foreverypart
extracttext imapsieve vnd.dovecot.imapsieve
namespace Geteilt {
hidden = no
inbox = no
list = children
location =
maildir:/var/mail/%%u/Maildir:LAYOUT=fs:INDEXPVT=/var/lib/dovecot/db/indexes/shared/%u/%%u
prefix = Geteilt/%%n/
separator = /
subscriptions = no
type = shared
}
namespace History {
hidden = no
inbox = no
list = children
location =
maildir:/var/mail/archiv/%u/:LAYOUT=fs:INDEX=/var/lib/dovecot/db/indexes/archiv/%u:CONTROL=/var/lib/dovecot/db/control/archiv/%u
mailbox Archiv {
auto = subscribe
special_use = \Archive
}
prefix = Archiv/
separator = /
subscriptions = no
type = private
}
namespace Synoptic {
hidden = no
ignore_on_failure = no
list = children
location =
virtual:/var/mail/virtual/synoptic:INDEX=/var/lib/dovecot/db/indexes/virtual/synoptic/%u
mailbox AKTUELL {
auto = subscribe
special_use = \All
}
mailbox Markierte {
auto = subscribe
special_use = \Flagged
}
mailbox Neue {
auto = subscribe
}
mailbox Rechnungen {
auto = subscribe
}
mailbox WICHTIG {
auto = subscribe
}
prefix = Synoptic/
separator = /
subscriptions = no
}
namespace Tulln {
list = children
location =
maildir:/var/mail/public/tulln:SUBSCRIPTIONS=subscriptions/%u:LAYOUT=fs:INDEXPVT=/var/lib/dovecot/db/indexes/public/tulln/%u
mailbox Familie {
auto = subscribe
}
mailbox Versicherungen {
auto = subscribe
}
mailbox familyextracard {
auto = subscribe
}
prefix = Tulln/
separator = /
subscriptions = no
type = public
}
namespace inbox {
hidden = no
inbox = yes
location = mailbox "Deleted Messages" {
auto = no
autoexpunge = 30 days
special_use = \Trash
}
mailbox Drafts {
auto = no
special_use = \Drafts
}
mailbox Entwürfe {
auto = no
special_use = \Drafts
}
mailbox "Gelöschte Elemente" {
auto = no
autoexpunge = 30 days
special_use = \Trash
}
mailbox "Gelöschte Objekte" {
auto = no
autoexpunge = 30 days
special_use = \Trash
}
mailbox Gesendet {
auto = no
special_use = \Sent
}
mailbox "Gesendete Elemente" {
auto = no
special_use = \Sent
}
mailbox "Gesendete Objekte" {
auto = no
special_use = \Sent
}
mailbox Junk {
auto = subscribe
autoexpunge = 30 days
special_use = \Junk
}
mailbox Mistkübel {
auto = no
autoexpunge = 30 days
special_use = \Trash
}
mailbox Papierkorb {
auto = no
autoexpunge = 30 days
special_use = \Trash
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Messages" {
auto = no
special_use = \Sent
}
mailbox Spam {
auto = no
autoexpunge = 30 days
special_use = \Junk
}
mailbox Synoptic/AKTUELL {
auto = no
comment = All my messages
special_use = \All
}
mailbox Trash {
auto = no
autoexpunge = 30 days
special_use = \Trash
}
prefix = INBOX/
separator = /
subscriptions = no
type = private
}
namespace subscriptions {
hidden = yes
list = no
location = prefix = subscriptions = yes
}
passdb {
args = /etc/dovecot/dovecot-ldap-passdb-user.conf.ext
driver = ldap
name = user
}
passdb {
args = /etc/dovecot/dovecot-ldap-passdb-admin.conf.ext
driver = ldap
name = admin
}
passdb {
args = /etc/dovecot/dovecot-ldap-passdb-others.conf.ext
driver = ldap
name = others
}
plugin {
acl = vfile:/etc/dovecot/dovecot-acl:cache_secs=300
acl_shared_dict = file:/var/lib/dovecot/db/shared-mailboxes.db
fts = lucene
fts_autoindex = yes
fts_autoindex_max_recent_msgs = 80
fts_index_timeout = 90
fts_lucene = whitespace_chars=@. normalize no_snowball
imapsieve_mailbox1_before = file:/etc/dovecot/sieve/report-spam.sieve
imapsieve_mailbox1_causes = COPY
imapsieve_mailbox1_name = INBOX/Junk
imapsieve_mailbox2_before = file:/etc/dovecot/sieve/report-ham.sieve
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_from = INBOX/Junk
imapsieve_mailbox2_name = *
mail_home = /var/mail/%u
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
mail_log_fields = uid box msgid subject from flags
setting_name = sieve, managedsieve
sieve = file:/var/mail/%u/sieve/;active=/var/mail/%u/sieve/%u.sieve
sieve_after = /etc/dovecot/sieve/after.d/
sieve_before = /etc/dovecot/sieve/global.sieve
sieve_global_dir = /etc/dovecot/sieve/
sieve_global_extensions = +vnd.dovecot.pipe
sieve_pipe_bin_dir = /etc/dovecot/sieve
sieve_plugins = sieve_imapsieve sieve_extprograms
sieve_trace_dir = /var/log/dovecot/sieve/trace
sieve_trace_level = matching
sieve_user_log = /var/mail/%u/sieve/sieve.log
}
postmaster_address = postmaster at localhost
protocols = " imap lmtp lmtp sieve pop3 sieve"
service anvil {
client_limit = 199999
unix_listener anvil-auth-penalty {
mode = 0700
}
}
service auth {
unix_listener auth-client {
group = vmail
mode = 0666
user = Debian-exim
}
unix_listener auth-userdb {
group = vmail
mode = 0666
user = vmail
}
}
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
process_min_avail = 1
service_count = 1
}
service imap-postlogin {
executable = script-login -d rawlog /etc/dovecot/acl_groups.py
unix_listener imap-postlogin {
group = vmail
user = vmail
}
}
service imap {
executable = imap imap-postlogin
process_limit = 1024
vsz_limit = 400 M
}
service lmtp {
user = Debian-exim
vsz_limit = 400 M
}
service stats {
unix_listener stats-writer {
group = vmail
mode = 0600
user = vmail
}
}
ssl = required
ssl_cert = </etc/letsencrypt/live/imap.mydomain.example/fullchain.pem
ssl_cipher_list = ALL:!ADH:!LOW:!SSLv2:!SSLv3:!EXP:!aNULL:+HIGH:+MEDIUM
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
args = /etc/dovecot/dovecot-ldap-userdb.conf.ext
default_fields = home=/var/mail/%u uid=vmail gid=vmail
driver = ldap
}
verbose_proctitle = yes
protocol lmtp {
auth_username_format = %Ln
mail_plugins = zlib quota acl listescape mail_log notify virtual fts
fts_lucene quota sieve acl
}
protocol lda {
info_log_path = log_path = mail_plugins = zlib quota acl listescape
mail_log notify virtual fts fts_lucene quota sieve acl
}
protocol imap {
mail_max_userip_connections = 60
mail_plugins = zlib quota acl listescape mail_log notify virtual fts
fts_lucene imap_quota imap_acl imap_sieve
rawlog_dir = %h/rawlog
}
Thanks for your help
More information about the dovecot
mailing list