Sieve filter doesn't respect mailbox separator

Konstantinos Tsakiltzidis
2018-03-08T17:37:03Z

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>