Konstantinos Tsakiltzidis
2018-Mar-02 17:41 UTC
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 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 ? }
}
Op 3/2/2018 om 6:41 PM schreef Konstantinos Tsakiltzidis:> Using `fileinto` to move a mail into another mailbox removes flags > > that 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 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 > ? } > } >
Konstantinos Tsakiltzidis
2018-Mar-05 10:35 UTC
Sieve filter fileinto doesn't preserve flags
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 flags
>>
>> that 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 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 >> ? }
>> }
>>
Konstantinos Tsakiltzidis
2018-Mar-05 12:18 UTC
Sieve filter fileinto doesn't preserve flags
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 flags >> >> that 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 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 >> ? } >> } >>
Reasonably Related Threads
- Sieve filter imapflags with "flagvar" not working
- Sieve filter imapflags with "flagvar" not working
- Sieve filter doesn't respect mailbox separator
- Sieve filter fileinto doesn't preserve flags
- Dovecot dsync not replicating ".dovecot.sieve -> .sieve/managesieve.sieve" / setactive