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";

}


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 = postmas...@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 =
  }
}

Reply via email to