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
Op 7-11-2019 om 13:30 schreef Jakobus Sch?rz via dovecot:> 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.sieveCan you enable mail_debug and check the logs?> 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 > >
Am 07.11.19 um 17:01 schrieb Stephan Bosch:> > Op 7-11-2019 om 13:30 schreef Jakobus Sch?rz via dovecot: >> 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 > > Can you enable mail_debug and check the logs?I had logs enabled "mail_debug = true", but lda did not write to journal... So i changed the config for protocol lda (before log_path and info_log_path where empty after = ) protocol lda { ? # Space separated list of plugins to load (default is global mail_plugins). ? mail_plugins = $mail_plugins quota sieve acl ? log_path = /var/log/dovecot/lda-errors.log ? info_log_path = /var/log/dovecot/lda.log } and checked these logfiles. So I could find out, that i made a config-change in my LDAP, and now the username/email changed for sieve settings... Could fix it. But why is no debug-output in journal, when these to log-path settings are empty? Then it should go to rsyslog and then to journal... jakob