Sieve filter doesn't respect mailbox separator

Konstantinos Tsakiltzidis ktsakiltzidis at modulus.gr
Thu Mar 8 19:37:03 EET 2018


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 03/06/2018 04:15 PM, Jungersen, Danjel - Jungersen Grafisk ApS wrote:
> 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 at 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 =
> >    }
> > }
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20180308/30df4309/attachment-0001.html>


More information about the dovecot mailing list