Sieve filter imapflags with "flagvar" not working
Stephan Bosch
stephan at rename-it.nl
Sat Mar 3 09:54:34 EET 2018
Op 3/2/2018 om 6:09 PM schreef Konstantinos Tsakiltzidis:
> Following the rfc5232, Sieve Email Filtering: Imap4flags Extension
>
> the following filter doesn't work when the `"flagvar"` part is added
>
> require "imap4flags";
>
> if header :contains "X-Spam" "Yes" {
>
> setflag "flagvar" "spam";
>
> }
You should be getting an error logged somewhere. Using a flag variable
is not allowed, unless the variables extension is enabled. So, you must
add `require "variables";' for this script to make sense at all.
Regards,
Stephan.
> removing the `"flagvar"` part works as expected
>
>
> # 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