Hello, I would like to ask for advice on the following things:
I have sieve scripts stored in mysql, work for LDA and imapd correctly. When I try to connect using the client managesieve (Roungcube plugin managesieve with Thunderbird addon sieve), i receive the following error: Oct 3 19:04:50 mail dovecot: managesieve(11044167): Debug: sieve: include: sieve_global_dir is not set; it is currently not possible to include `:global' scripts. Oct 3 19:04:50 mail dovecot: managesieve(11044167): Error: sieve-storage: Cannot open non-file script location for active script `dict:proxy::sieve;name=active;bindir=/var/vmail/sieve-scripts/11044167' Oct 3 19:04:50 mail dovecot: managesieve(11044167): Fatal: Failed to open Sieve storage. If i change settings sieve to: sieve = ~/.dovecot.sieve sieve_dir = ~/sieve it works fine. can someone please advise configuring dovecot-managesieved with saving scripts in the database. Thank you very much Petr Bitzan ------------- # 2.1.7: /etc/dovecot/dovecot.conf # OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.6 ext4 auth_debug = yes auth_mechanisms = plain login auth_verbose = yes dict { acl = mysql:/etc/dovecot/dovecot-acl-shared-dict.conf.ext sieve = mysql:/etc/dovecot/dict-sieve-sql.conf.ext } first_valid_gid = 1002 first_valid_uid = 1002 last_valid_gid = 1002 last_valid_uid = 1002 mail_debug = yes mail_location = maildir:/var/vmail/%n/Maildir mail_plugins = " mail_log notify acl" 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 ihave namespace { list = children location = maildir:%%h/Maildir:INDEX=~/shared/%%u/ prefix = shared/%%u/ separator = / subscriptions = yes type = shared } namespace inbox { hidden = no inbox = yes list = yes location = mailbox Drafts { special_use = \Drafts } mailbox HAM { auto = subscribe } mailbox Junk { special_use = \Junk } mailbox SPAM { auto = subscribe } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = separator = / subscriptions = yes type = private } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { acl = vfile acl_shared_dict = proxy::acl quota = maildir:User quota quota_warning = storage=95%% quota-warning 95 %u sieve = dict:proxy::sieve;name=active;bindir=/var/vmail/sieve-scripts/%u sieve_dir = dict:proxy::sieve;name=active;bindir=~/.sieve-bin } protocols = " imap lmtp sieve pop3" service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } } service dict { unix_listener dict { group = vmail mode = 0600 user = vmail } } service lmtp { inet_listener lmtp { address = 127.0.0.1 port = 24 } user = vmail } service managesieve-login { inet_listener sieve { address = xxxxxxx port = 4190 } } service quota-warning { executable = script /usr/local/bin/quota-warning.sh unix_listener quota-warning { user = vmail } user = dovecot } ssl_cert = </etc/ssl/certs/smtp.lf3.cuni.cz.pem ssl_key = </etc/ssl/private/serverkeynopass.pem userdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } protocol lmtp { mail_plugins = " mail_log notify acl quota sieve" } protocol lda { mail_plugins = " mail_log notify acl quota sieve acl" } protocol imap { mail_plugins = " mail_log notify acl quota imap_quota acl imap_acl" } protocol pop3 { mail_plugins = " mail_log notify acl quota" } dict-sieve-sql.conf.ext: connect = host=xxxxxxxxxxxxx dbname=xxxxxxxx user=xxxxxxxx password=xxxxxxxxxxxxxx map { pattern = priv/sieve/name/$script_name table = user_sieve_scripts username_field = username value_field = id fields { script_name = $script_name } } map { pattern = priv/sieve/data/$id table = user_sieve_scripts username_field = username value_field = script_data fields { id = $id } } CREATE TABLE IF NOT EXISTS `user_sieve_scripts` ( `id` int(11) NOT NULL DEFAULT '0', `username` varchar(40) DEFAULT NULL, `script_name` varchar(255) DEFAULT NULL, `script_data` varchar(10240) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`,`script_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;