Sieve filter fileinto doesn't preserve flags
Using fileinto
to move a mail into another mailbox removes flags
that have been set with a previous sieve filter with addflag
.
# 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@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 = } }
Op 3/2/2018 om 6:41 PM schreef Konstantinos Tsakiltzidis:
Using
fileinto
to move a mail into another mailbox removes flagsthat have been set with a previous sieve filter with
addflag
.
I need to see your script to help you.
Regards,
Stephan Bosch.
# 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@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 = } }
my script is as simple as:
require ["imap4flags", "fileinto"];
if hasflag :contains "spam" {
fileinto "Public.telecoms.Spam";
}
the mails is correctly delivered in the above mailbox
but the flags have been removed
On 03/03/2018 09:56 AM, Stephan Bosch wrote:
Op 3/2/2018 om 6:41 PM schreef Konstantinos Tsakiltzidis:
Using
fileinto
to move a mail into another mailbox removes flagsthat have been set with a previous sieve filter with
addflag
. I need to see your script to help you.Regards,
Stephan Bosch.
# 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@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 = } }
This was an error with the ACLs
logging doesn't seem to log any related error.
On 03/03/2018 09:56 AM, Stephan Bosch wrote:
Op 3/2/2018 om 6:41 PM schreef Konstantinos Tsakiltzidis:
Using
fileinto
to move a mail into another mailbox removes flagsthat have been set with a previous sieve filter with
addflag
. I need to see your script to help you.Regards,
Stephan Bosch.
# 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@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 = } }
participants (2)
-
Konstantinos Tsakiltzidis
-
Stephan Bosch