The problem seems to be my Public/.. mailboxes, and the home path of each one.
This apparently is not a bug, just a very hard configuration
detail.
On 2 Mar 2018 at 18:10, Konstantinos Tsakiltzidis wrote:
> namespace separator is '.',> this sieve script incorrectly tries to put the mail inside a mailbox> rather that beside it, for example if the mailbox is named 'example',> the mail will be put in the path 'example/.Spam' instead of> 'example.Spam'>> require ["fileinto"];> if header :contains "X-Spam" "yes" {> fileinto "Spam";> }Could it be related to the fact that in one line you say "Junk" (In dovecot) and in another you say "Spam" (In sieve) ??
//Danjel>>>> # 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf> # Pigeonhole version 0.4.21 (92477967)> # OS: Linux 4.9.0-6-amd64 x86_64 Debian 9.1 ext4> lda_mailbox_autocreate = yes> lda_mailbox_autosubscribe = yes> mail_debug = yes> mail_location = maildir:/var/vmail/%d/%n> 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 namespace inbox {> inbox = yes> location => mailbox Drafts {> special_use = \Drafts> }> mailbox Junk {> special_use = \Junk> }> mailbox Sent {> special_use = \Sent> }> mailbox "Sent Messages" {> special_use = \Sent> }> mailbox Trash {> special_use = \Trash> }> prefix => separator = .> subscriptions = yes> type = private> }> namespace modulus {> list = children> location = maildir:/var/vmail/%d/Public:INDEXPVT=~/public/indexes> mailbox admin { auto = subscribe } mailbox support {> auto = subscribe } mailbox telecoms { auto => subscribe } prefix = Public. separator = . subscriptions> = yes type = public> }> passdb {> driver = pam> }> plugin {> acl = vfile> mail_log_events = flag_change> mail_log_fields = box flags uid> sieve = ~/dovecot.sieve> sieve_before = /var/vmail/global.sieve> sieve_dir = ~/sieve> sieve_global_dir = /var/vmail/sieve> }> protocols = " imap lmtp sieve lmtp"> service auth {> unix_listener /var/spool/postfix/private/auth {> group = mail> mode = 0666> user = postfix> }> unix_listener auth-userdb {> group = mail> mode = 0666> user = vmail> }> }> service imap-login {> inet_listener imap {> port = 0> }> }> service lmtp {> unix_listener /var/spool/postfix/private/dovecot-lmtp {> group = postfix> mode = 0600> user = postfix> }> }> service managesieve-login {> inet_listener sieve {> port = 4190> }> process_min_avail = 0> service_count = 1> vsz_limit = 64 M> }> service managesieve {> process_limit = 1024> }> ssl = required> ssl_cert = </etc/ssl/certs/mail.crt> ssl_key = # hidden, use -P to show it> userdb {> driver = passwd> }> protocol imap {> mail_max_userip_connections = 20> mail_plugins = " mail_log notify acl"> passdb {> args = /etc/dovecot/dovecot-ldap-users.conf.ext> driver = ldap> name => }> userdb {> args = uid=vmail gid=mail home=/var/vmail/%d/%n> driver = static> name => }> }> protocol lda {> mail_plugins = " sieve acl"> userdb {> args = /etc/dovecot/dovecot-ldap-users.conf.ext> driver = ldap> name => override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n> } userdb { args = /etc/dovecot/dovecot-ldap-groups.conf.ext> driver = ldap name = override_fields = uid=vmail> gid=mail home=/var/vmail/%d/Public/.%n> mail=maildir:/var/vmail/%d/Public/.%n> }> }> protocol lmtp {> mail_plugins = " sieve acl"> postmaster_address = postmaster@modulus.gr> userdb {> args = /etc/dovecot/dovecot-ldap-users.conf.ext> driver = ldap> name => override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n> } userdb { args = /etc/dovecot/dovecot-ldap-groups.conf.ext> driver = ldap name = override_fields = uid=vmail> gid=mail home=/var/vmail/%d/Public/.%n> mail=maildir:/var/vmail/%d/Public/.%n> }> }> protocol doveadm {> userdb {> args = /etc/dovecot/dovecot-ldap-users.conf.ext> driver = ldap> name => override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n> } userdb { args = /etc/dovecot/dovecot-ldap-groups.conf.ext> driver = ldap name = override_fields = uid=vmail> gid=mail home=/var/vmail/%d/Public/.%n> mail=maildir:/var/vmail/%d/Public/.%n> }> }> protocol sieve {> mail_max_userip_connections = 10> managesieve_implementation_string = Dovecot Pigeonhole> managesieve_logout_format = bytes=%i/%o> managesieve_max_line_length = 65536> passdb {> args = /etc/dovecot/dovecot-ldap-users.conf.ext> driver = ldap> name => }> userdb {> args = uid=vmail gid=mail home=/var/vmail/%d/%n> driver = static> name => }> }