Sieve filter doesn't respect mailbox separator
Konstantinos Tsakiltzidis
ktsakiltzidis at modulus.gr
Fri Mar 2 18:10:43 EET 2018
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";
}
# 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 =
}
}
More information about the dovecot
mailing list