IMAPSieve filters don't run on virtual mailboxes
Hi everyone,
In the following configuration my IMAPSieve script doesn't run on the configured "copy" action when I assign it to a virtual mailbox.
However, using the very same config snippet on a regular mailbox, the script suddenly starts to work. Move direction: from virtual to virtual (INBOX/Primary to INBOX/Notification).
Do you know how to assign IMAPSieve to virtual mailboxes?
Virtual config:
namespace virtual-classification { prefix = "INBOX/" separator = / mail_driver = virtual mail_path = /var/lib/dovecot/virtual/classification/en mail_index_path = %{home}/index/virtual/classification/en namespace_subscriptions = no
mailbox Notification { auto = subscribe
sieve_script classification-move1 { type = before cause = copy append path = /var/lib/dovecot/sieve/imapsieve.d/classification-move.sieve } } mailbox Primary { [...] } }
Sieve script:
require ["vnd.dovecot.debug"]; debug_log "IMAPSIEVE SCRIPT WAS CALLED!";
Virtual file:
virtual/classification/en/Notification/dovecot-virtual: !INBOX KEYWORD classification-notification
The same result with "!INBOX" and "INBOX".
Inbox namespace (working example):
namespace inbox { separator = / inbox = yes mail_path = %{home}/mail mail_index_path = %{home}/index/inbox
mailbox "Archive" { special_use = \Archive auto = subscribe
sieve_script classification-move1 { type = before cause = copy append path = /var/lib/dovecot/sieve/imapsieve.d/classification-move.sieve } } }
In the latter case the script is called properly and I see the debug message in info.log.
But in the virtual case, the script doesn't run. Debug logs of failing case:
Mailbox INBOX: Mailbox opened Mailbox INBOX/Primary: Mailbox opened Mailbox INBOX: Mailbox opened Namespace inbox: Using permissions from /var/spool/mail/[...]//mail: mode=0700 gid=default Mailbox INBOX: Mailbox opened Mailbox INBOX: imapsieve: MOVE event Mailbox INBOX: UID 2147: Expunge requested Mailbox INBOX/Primary: UID 47: Expunge requested dict(file): dict created (driver=file) dict(file): Looking up 'shared/90b3ed0066c4fe670a000000b7545530/imapsieve/script' dict(file): Lookup finished for 'shared/90b3ed0066c4fe670a000000b7545530/imapsieve/script': not found Mailbox INBOX: imapsieve: Mailbox attribute /shared/imapsieve/script not found dict(file): Looking up 'shared/90b3ed0066c4fe670a000000b7545530/vendor/vendor.dovecot/pvt/server/imapsieve/script' dict(file): Lookup finished for 'shared/90b3ed0066c4fe670a000000b7545530/vendor/vendor.dovecot/pvt/server/imapsieve/script': not found Mailbox INBOX: imapsieve: Server attribute /shared/imapsieve/script not found duplicate db: Initialize sieve: Pigeonhole version 2.4.1-4 (0a86619f) initializing Loading modules from directory: /usr/lib64/dovecot/modules/sieve Module loaded: /usr/lib64/dovecot/modules/sieve/lib90_sieve_extprograms_plugin.so Module loaded: /usr/lib64/dovecot/modules/sieve/lib90_sieve_imapsieve_plugin.so sieve: Sieve Extprograms plugin for Pigeonhole version 2.4.1-4 (0a86619f) loaded sieve: Sieve imapsieve plugin for Pigeonhole version 2.4.1-4 (0a86619f) loaded fts-flatcurve: fts-flatcurve(INBOX): Expunge uid=2147 fts-flatcurve: fts-flatcurve(INBOX): Opened DB (RO) messages=136 version=1 shards=2 fts-flatcurve: fts-flatcurve(INBOX): Opened DB (RW, current.1755771145431021) messages=48 version=1 Mailbox INBOX: UID 2147: Mail expunged fts-flatcurve: fts-flatcurve(INBOX): Committed 1 changes to DB (RW, current.1755771145431021) in 0.003 secs fts-flatcurve: fts-flatcurve: Update transaction completed in 0.004 secs Mailbox INBOX/Primary: Backend mailbox INBOX changed: UIDNEXT changed: 2277 -> 2278
IMAPSieve config seems to work (based on the successful regular mailbox example), so I don't paste the whole sieve config (but in case it's necessary, I'll do it).
Ákos
participants (1)
-
Ákos Szőts