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 at a.cn): Jul 13 11:48:24 Info: Loading modules from
directory: /usr/lib64/dovecot/lda
deliver(postmaster at a.cn): Jul 13 11:48:24 Info: Module loaded:
/usr/lib64/dovecot/lda/lib10_quota_plugin.so
deliver(postmaster at a.cn): Jul 13 11:48:24 Info: Module loaded:
/usr/lib64/dovecot/lda/lib90_cmusieve_plugin.so
deliver(postmaster at a.cn): Jul 13 11:48:24 Info: auth input: postmaster at
a.cn
deliver(postmaster at a.cn): Jul 13 11:48:24 Info: auth input: home=/home/vmail
deliver(postmaster at a.cn): Jul 13 11:48:24 Info: auth input:
sieve_dir=/home/vmail/a.cn/postmaster/
deliver(postmaster at a.cn): Jul 13 11:48:24 Info: auth input:
quota_rule=*:bytes=0
deliver(postmaster at a.cn): Jul 13 11:48:24 Info: auth input:
maildir=a.cn/postmaster/
deliver(postmaster at a.cn): Jul 13 11:48:24 Info: Quota root: name=
backend=maildir argsdeliver(postmaster at a.cn): Jul 13 11:48:24 Info: Quota
rule: root=
mailbox=* bytes=0 (0%) messages=0 (0%)
deliver(postmaster at a.cn): Jul 13 11:48:24 Info: maildir:
data=//home/vmail/a.cn/postmaster/:INDEX=//home/vmail/a.cn/postmaster/
deliver(postmaster at 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 at a.cn): Jul 13 11:48:24 Info: cmusieve: Using sieve
path: /home/vmail/.dovecot.sieve
deliver(postmaster at a.cn): Jul 13 11:48:24 Info: cmusieve: Executing
script /home/vmail/.dovecot.sievec
deliver(postmaster at a.cn): Jul 13 11:48:24 Info: cmusieve: Script not
found: /home/vmail/a.cn/postmaster//.dovecot.sieve
deliver(postmaster at a.cn): Jul 13 11:48:24 Info: include: Script not
found: '.dovecot.sieve'
deliver(postmaster at a.cn): Jul 13 11:48:24 Info: sieve runtime error:
Include can not find script
deliver(postmaster at a.cn): Jul 13 11:48:24 Error:
sieve_execute_bytecode(/home/vmail/.dovecot.sievec) failed
deliver(postmaster at a.cn): Jul 13 11:48:24 Info:
msgid=<48797B06.1070109 at 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/