[Dovecot] 'include' feature in sieve 1.1.5
Hi, all.
I use dovecot-1.1.1 and dovecot-1.1.5 which built by atrpms, and i use 'include' command to include two/several personal sieve rule file, but if either of these personal sieve rule files is not exist, sieve_execute_bytecode failed.
How can i make it just skip the non-exist personal sieve rule file, and continue to try to include next sieve rule file?
Thanks very much. :)
In /etc/dovecot.conf: ----8<---- protocol lda { postmaster_address = root auth_socket_path = /var/run/dovecot/auth-master mail_plugins = cmusieve quota sieve_global_path = /home/vmail/.dovecot.sieve log_path = /var/log/sieve.log } ----8<----
In /etc/dovecot-mysql.conf:
user_query = SELECT xxx, xxx, '/home/vmail/%Ld/%Ln/' AS sieve_dir, xxx
My sieve rule: /home/vmail/.dovecot.sieve:
require ["fileinto", "reject", "include"];
include :personal ".dovecot.sieve"; include :personal ".vacation.sieve";
Log: ----8<---- deliver(postmaster@a.cn): Jul 13 11:48:24 Info: Loading modules from directory: /usr/lib64/dovecot/lda deliver(postmaster@a.cn): Jul 13 11:48:24 Info: Module loaded: /usr/lib64/dovecot/lda/lib10_quota_plugin.so deliver(postmaster@a.cn): Jul 13 11:48:24 Info: Module loaded: /usr/lib64/dovecot/lda/lib90_cmusieve_plugin.so deliver(postmaster@a.cn): Jul 13 11:48:24 Info: auth input: postmaster@a.cn deliver(postmaster@a.cn): Jul 13 11:48:24 Info: auth input: home=/home/vmail deliver(postmaster@a.cn): Jul 13 11:48:24 Info: auth input: sieve_dir=/home/vmail/a.cn/postmaster/ deliver(postmaster@a.cn): Jul 13 11:48:24 Info: auth input: quota_rule=*:bytes=0 deliver(postmaster@a.cn): Jul 13 11:48:24 Info: auth input: maildir=a.cn/postmaster/ deliver(postmaster@a.cn): Jul 13 11:48:24 Info: Quota root: name= backend=maildir args= deliver(postmaster@a.cn): Jul 13 11:48:24 Info: Quota rule: root= mailbox=* bytes=0 (0%) messages=0 (0%) deliver(postmaster@a.cn): Jul 13 11:48:24 Info: maildir: data=//home/vmail/a.cn/postmaster/:INDEX=//home/vmail/a.cn/postmaster/ deliver(postmaster@a.cn): Jul 13 11:48:24 Info: maildir++: root=//home/vmail/a.cn/postmaster, index=, control=, inbox=//home/vmail/a.cn/postmaster deliver(postmaster@a.cn): Jul 13 11:48:24 Info: cmusieve: Using sieve path: /home/vmail/.dovecot.sieve deliver(postmaster@a.cn): Jul 13 11:48:24 Info: cmusieve: Executing script /home/vmail/.dovecot.sievec deliver(postmaster@a.cn): Jul 13 11:48:24 Info: cmusieve: Script not found: /home/vmail/a.cn/postmaster//.dovecot.sieve deliver(postmaster@a.cn): Jul 13 11:48:24 Info: include: Script not found: '.dovecot.sieve' deliver(postmaster@a.cn): Jul 13 11:48:24 Info: sieve runtime error: Include can not find script deliver(postmaster@a.cn): Jul 13 11:48:24 Error: sieve_execute_bytecode(/home/vmail/.dovecot.sievec) failed deliver(postmaster@a.cn): Jul 13 11:48:24 Info: msgid=<48797B06.1070109@a.cn>: saved mail to INBOX
-- Best Regards.
Zhang Huangbin
- iRedMail: Mail Server Solution for Red Hat(R) Enterprise Linux & CentOS 5.x: http://iRedMail.googlecode.com/
On Sun, 2008-07-13 at 12:02 +0800, Zhang Huangbin wrote:
Hi, all.
I use dovecot-1.1.1 and dovecot-1.1.5 which built by atrpms, and i use 'include' command to include two/several personal sieve rule file, but if either of these personal sieve rule files is not exist, sieve_execute_bytecode failed.
How can i make it just skip the non-exist personal sieve rule file, and continue to try to include next sieve rule file?
By modifying the sources .. The include Sieve spec requires that the execution must fail if the included script doesn't exist.
participants (2)
-
Timo Sirainen
-
Zhang Huangbin