I've got dovecot & Sieve installed on an internal mail server, without issue. It seems to run ~/.dovecot.sieve scripts without issue. However, when trying to set up sieve scripts with an email client (kmail) the sieve scripts get published to ~/sieve directory.
I can't seem to find any way to tell sieve to run all scripts in ~/sieve. It looked as though sieve_before in /etc/dovecot/conf.d/90-sieve.conf might do it but it doesn't expand ~. EG:
sieve_before = ~/sieve
How do I tell dovecot/sieve to run the scripts found in sieve_dir?
Thanks,
Ben
Am 05.11.2014 um 01:27 schrieb Benjamin Smith:
I've got dovecot & Sieve installed on an internal mail server, without issue. It seems to run ~/.dovecot.sieve scripts without issue. However, when trying to set up sieve scripts with an email client (kmail) the sieve scripts get published to ~/sieve directory.
I can't seem to find any way to tell sieve to run all scripts in ~/sieve. It looked as though sieve_before in /etc/dovecot/conf.d/90-sieve.conf might do it but it doesn't expand ~. EG:
sieve_before = ~/sieve
How do I tell dovecot/sieve to run the scripts found in sieve_dir?
Thanks,
Ben
worksforme
Verify your dovecot configurition by `doveconf -n'. Where is the user's home and do the permissions of all path elements fit your UID/GID setting?
Alexander
On Wednesday, November 05, 2014 09:10:03 AM Alexander Dalloz wrote:
Am 05.11.2014 um 01:27 schrieb Benjamin Smith:
I've got dovecot & Sieve installed on an internal mail server, without issue. It seems to run ~/.dovecot.sieve scripts without issue. However, when trying to set up sieve scripts with an email client (kmail) the sieve scripts get published to ~/sieve directory.
I can't seem to find any way to tell sieve to run all scripts in ~/sieve. It looked as though sieve_before in /etc/dovecot/conf.d/90-sieve.conf might do it but it doesn't expand ~. EG:
sieve_before = ~/sieve
How do I tell dovecot/sieve to run the scripts found in sieve_dir?
Thanks,
Ben
worksforme
Verify your dovecot configurition by `doveconf -n'. Where is the user's home and do the permissions of all path elements fit your UID/GID setting?
Nearest I can tell, all should be good. If I copy any of the ~/sieve/*.sieve scripts to ~/.dovecot.sieve they work fine, but they just aren't being "seen" in the ~/sieve directory. Because of this, I can't manage sieve scripts in a user's email client. (EG: KMail)
Am I missing something? As the user: [spadmin@edison ~]$ ll total 12 drwx------ 8 spadmin spadmin 4096 Nov 6 00:00 Maildir drwx------ 3 spadmin spadmin 4096 Nov 4 23:46 sieve [spadmin@edison ~]$ ll sieve/ total 12 -rw------- 1 spadmin spadmin 88 Nov 4 23:46 Knox.sieve -rw------- 1 spadmin spadmin 96 Nov 4 23:46 Socrates.sieve drwx------ 2 spadmin spadmin 4096 Nov 4 23:46 tmp
[spadmin@edison ~]$ dovecot -n # 2.0.9: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-431.29.2.el6.i686 i686 CentOS release 6.5 (Final) lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_debug = yes 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 mbox_write_locks = fcntl passdb { driver = pam } plugin { sieve = ~/.dovecot.sieve sieve_dir = ~/sieve sieve_global_dir = /etc/dovecot/sieve/global/ sieve_global_path = /etc/dovecot/sieve/default.sieve sieve_max_script_size = 1M } protocols = imap pop3 sieve sieve service managesieve-login { inet_listener sieve { port = 4190 } } ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem userdb { driver = passwd } protocol lmtp { info_log_path = /var/log/dovecot-lmtp.log log_path = /var/log/dovecot-lmtp-errors.log mail_plugins = " autocreate sieve quota" } protocol lda { auth_socket_path = /var/run/dovecot/auth-master hostname = mail.mydomain.com mail_plugins = " autocreate sieve quota" postmaster_address = postmaster@mydomain.com } protocol sieve { info_log_path = /var/log/dovecot-sieve.log log_path = /var/log/dovecot-sieve-errors.log managesieve_implementation_string = Dovecot managesieve_max_line_length = 65536 }
Am 06.11.2014 um 01:08 schrieb Benjamin Smith:
Nearest I can tell, all should be good. If I copy any of the ~/sieve/*.sieve scripts to ~/.dovecot.sieve they work fine, but they just aren't being "seen" in the ~/sieve directory. Because of this, I can't manage sieve scripts in a user's email client. (EG: KMail)
Am I missing something? As the user: [spadmin@edison ~]$ ll total 12 drwx------ 8 spadmin spadmin 4096 Nov 6 00:00 Maildir drwx------ 3 spadmin spadmin 4096 Nov 4 23:46 sieve [spadmin@edison ~]$ ll sieve/ total 12 -rw------- 1 spadmin spadmin 88 Nov 4 23:46 Knox.sieve -rw------- 1 spadmin spadmin 96 Nov 4 23:46 Socrates.sieve drwx------ 2 spadmin spadmin 4096 Nov 4 23:46 tmp
So it is just a misunderstanding on your end. The active sieve script under ~/sieve must be symlinked to the .dovecot.sieve file.
cd ~ ln -s sieve/Socrates.sieve .dovecot.sieve
Then dovecot will build the bytecode version of the plaintext sieve ruleset as ~/.dovecot.svbin.
Alexander