Hello the list,
I am trying to achieve filter processing using sieve, but i am not sure I can do what I want.
I want to let the user decide to use my filtering script (sieve_after) or not.
According to the documentation, i am trying to stop processing in user sieve script, but processing continue.
I am using dovecot 2.2 (CentOS).
My sieve configuration is:
plugin {
sieve = /var/vmail/%d/%n/%n.sieve
sieve_before = /etc/dovecot/sieve/global-before
sieve_after = /etc/dovecot/sieve/global
[...]
}
'sieve' is the filter script created by users.
When trying to stop processing, it is generated by roundcube like:
# rule:[deliver to mailbox]
if anyof (true)
{
stop;
}
'sieve_after' is the filter which handles the spam processing (fileinto Junk).
But the processing continue until all sieve filters are processed:
Mar 22 14:50:23 lda(user@example.com): Debug: none: root=, index=, indexpvt=, control=, inbox=, alt=
Mar 22 14:50:23 lda(user@example.com): Debug: Destination address: user@example.com (source: -a parameter)
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: Pigeonhole version 0.4.2 initializing
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: include: sieve_global_dir is not set; it is currently not possible to include `:global' scripts.
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: executed before user's personal Sieve script(1): /etc/dovecot/sieve/global-before
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: using the following location for user's Sieve script: /var/vmail/example.com/user/user.sieve;name=main script
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: executed after user's Sieve script(3): /etc/dovecot/sieve/global
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: opening script 1 of 3 from /etc/dovecot/sieve/global-before
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: loading script /etc/dovecot/sieve/global-before
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: script binary /etc/dovecot/sieve/global-before.svbin successfully loaded
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: binary save: not saving binary /etc/dovecot/sieve/global-before.svbin, because it is already stored
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: executing script from /etc/dovecot/sieve/global-before.svbin
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: opening script 2 of 3 from /var/vmail/example.com/user/user.sieve;name=main script
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: loading script /var/vmail/example.com/user/user.sieve;name=main script
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: script binary /var/vmail/example.com/user/user.svbin successfully loaded
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: binary save: not saving binary /var/vmail/example.com/user/user.svbin, because it is already stored
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: executing script from /var/vmail/example.com/user/user.svbin
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: opening script 3 of 3 from /etc/dovecot/sieve/global
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: loading script /etc/dovecot/sieve/global
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: script binary /etc/dovecot/sieve/global.svbin successfully loaded
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: binary save: not saving binary /etc/dovecot/sieve/global.svbin, because it is already stored
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: executing script from /etc/dovecot/sieve/global.svbin
Mar 22 14:50:23 lda(user@example.com): Debug: Namespace : Using permissions from /var/vmail/example.com/user/Maildir: mode=0700 gid=default
Mar 22 14:50:23 lda(user@example.com): Info: sieve: msgid=<cm.0045046409888.jyshukd.kidudykyhi.r@cmail19.com>: stored mail into mailbox 'Courrier indésirable'
I would like to stop processing after
Mar 22 14:50:23 lda(user@example.com): Debug: sieve: using the following
location for user's Sieve script:
/var/vmail/example.com/user/user.sieve;name=main script
At the end, I do not want mail to be delivered into Junk, but into INBOX..
Is it possible ?
Perhaps a sieve, sieve2 setting exists ? (like sieve_before, sieve_before2 ...)
Thank you for your help, ideas :)
Best regards,
Nicolas