Sieve global path?

Bill Shirley bill at KnoxvilleChristian.org
Fri Nov 10 04:02:44 EET 2017


Set the sieve_global_dir like this.
/etc/dovecot/conf.d/99-mystuff.conf:
.
.
plugin {
   sieve                 = ~/Maildir/dovecot.sieve
   sieve_dir             = ~/Maildir/sieve
   sieve_global_dir      = /etc/dovecot/sieve/global/
   sieve_before          = /etc/dovecot/sieve/before.d/
#  sieve_before2        =
#  sieve_before3        =
   sieve_after           = /etc/dovecot/sieve/after.d/
#  sieve_after2         =
#  sieve_after3         =

   fts                   = lucene
   fts_lucene            = whitespace_chars=@.
}

Permissions:
drwxr-xr-x. 174 root root system_u:object_r:etc_t:s0         12288 Nov  9 11:43 /etc
drwxr-xr-x.   4 root root system_u:object_r:dovecot_etc_t:s0    95 Apr 28  2016 /etc/dovecot
drwxr-xr-x.   5 root root system_u:object_r:dovecot_etc_t:s0    64 Jul 13  2015 /etc/dovecot/sieve
drwxr-xr-x.   2 root root system_u:object_r:dovecot_etc_t:s0    10 Jul 13  2015 /etc/dovecot/sieve/global

Since this directory is read-only to all but root, pre-complie your scripts with 'sievec'.

Bill


On 11/9/2017 6:39 PM, Gao wrote:
> Hello,
> I am building a new server on CentOS 7 and the global sieve filter can not be loaded. The debug shows:
> Nov  9 15:23:09 mail dovecot: lmtp(11182, gao at mydomain.com): Debug: sieve: Pigeonhole version 0.4.2 initializing
> Nov  9 15:23:09 mail dovecot: lmtp(11182, gao at mydomain.com): Debug: sieve: include: sieve_global_dir is not set; it is 
> currently not possible to include `:global' scripts.
>
> The pigeonhole version:
> # yum list dovecot-pigeonhole
> dovecot-pigeonhole.x86_64 1:2.2.10-8.el7
>
> I googled and got confused on how to make sieve point to the correct global filter (which I want auto deliver spams to Junk 
> folder). So what is the correct setting?
>
> Thanks in advance.
>
> Gao
>
>
>
>
> Here is my doveconf -n output:
> -----------------------------------------------------------
> [root at mail ~]# doveconf -n
> # 2.2.10: /etc/dovecot/dovecot.conf
> # OS: Linux 3.10.0-693.5.2.el7.x86_64 x86_64 CentOS Linux release 7.4.1708 (Core)  xfs
> auth_mechanisms = plain login cram-md5
> first_valid_gid = 5000
> first_valid_uid = 5000
> last_valid_gid = 5000
> last_valid_uid = 5000
> listen = *
> mail_debug = yes
> mail_gid = 5000
> mail_location = maildir:/home/vmail/%d/%n/:INDEX=/home/vmail/%d/%n/indexes
> mail_plugins = " quota"
> mail_uid = 5000
> 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
> mbox_write_locks = fcntl
> namespace inbox {
>   inbox = yes
>   location =
>   mailbox Drafts {
>     auto = subscribe
>     special_use = \Drafts
>   }
>   mailbox Junk {
>     auto = subscribe
>     special_use = \Junk
>   }
>   mailbox Sent {
>     auto = subscribe
>     special_use = \Sent
>   }
>   mailbox "Sent Messages" {
>     special_use = \Sent
>   }
>   mailbox Trash {
>     auto = subscribe
>     special_use = \Trash
>   }
>   prefix =
> }
> passdb {
>   args = /etc/dovecot/conf.d/dovecot-mysql.conf.ext
>   driver = sql
> }
> plugin {
>   quota = maildir:User quota
>   quota_exceeded_message = ERROR:422 - Mailbox full, sorry.
>   quota_rule = Junk:ignore
>   quota_rule2 = Trash:storage=+100M
>   quota_warning = storage=90%% quota-warning 90 %u %d
>   quota_warning2 = storage=80%% quota-warning 80 %u %d
>   sieve = ~/sieve/.dovecot.sieve
>   sieve_dir = ~/sieve
>   sieve_global_path = /home/vmail/sieve/globalfilter.sieve
>   sieve_max_script_size = 1M
>   sievedir = ~/sieve
> }
> protocols = imap pop3 lmtp sieve
> service auth {
>   unix_listener /var/spool/postfix/private/auth {
>     group = vmail
>     mode = 0666
>     user = vmail
>   }
> }
> service imap-login {
>   inet_listener imap {
>     port = 143
>   }
>   inet_listener imaps {
>     port = 993
>     ssl = yes
>   }
> }
> service lmtp {
>   unix_listener /var/spool/postfix/private/dovecot-lmtp {
>     group = postfix
>     mode = 0600
>     user = postfix
>   }
> }
> service managesieve-login {
>   inet_listener sieve {
>     port = 4190
>   }
>   process_min_avail = 0
>   service_count = 1
>   vsz_limit = 64 M
> }
> service pop3-login {
>   inet_listener pop3 {
>     port = 110
>   }
>   inet_listener pop3s {
>     port = 995
>     ssl = yes
>   }
> }
> service quota-warning {
>   executable = script /usr/local/bin/overquota.sh
>   group = vmail
>   unix_listener quota-warning {
>     group = vmail
>     user = vmail
>   }
>   user = vmail
> }
> ssl = required
> ssl_cert = </etc/letsencrypt/live/mydomain.com/fullchain.pem
> ssl_cipher_list = 
> EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4
> ssl_key = </etc/letsencrypt/live/mydomain.com/privkey.pem
> ssl_prefer_server_ciphers = yes
> ssl_protocols = !SSLv2 !SSLv3
> userdb {
>   args = /etc/dovecot/conf.d/dovecot-mysql.conf.ext
>   driver = sql
> }
> protocol lmtp {
>   mail_plugins = " quota sieve"
>   postmaster_address = postmaster at mydomain.com
> }
> protocol imap {
>   mail_plugins = " quota imap_quota"
> }
> protocol sieve {
>   managesieve_implementation_string = Dovecot Pigeonhole
>   managesieve_max_compile_errors = 5
>   managesieve_max_line_length = 65536
> }



More information about the dovecot mailing list