# /etc/dovecot/conf.d/60-sieve-pipeline.conf # Complete Sieve pipeline: personal/global scripts, plugins, limits, training. # Global before/after (file and dict) sieve_script before { type = before driver = file path = /var/vmail/sieve/global_sieve_before.sieve } sieve_script before2 { type = before driver = dict name = active dict proxy { name = sieve_before sieve_script_bin_path = /var/vmail/sieve_before_bindir } } sieve_script after { type = after driver = file path = /var/vmail/sieve/global_sieve_after.sieve } sieve_script after2 { type = after driver = dict name = active dict proxy { name = sieve_after sieve_script_bin_path = /var/vmail/sieve_after_bindir } } # Personal scripts sieve_script personal { type = personal driver = file path = ~/sieve active_path = ~/.dovecot.sieve } # Plugins and behavior sieve_plugins = sieve_imapsieve sieve_extprograms sieve_vacation_send_from_recipient = yes sieve_redirect_envelope_from = recipient # IMAPSieve training imapsieve_from Junk { sieve_script ham { type = before cause = copy path = /usr/lib/dovecot/sieve/report-ham.sieve } } mailbox Junk { sieve_script spam { type = before cause = copy path = /usr/lib/dovecot/sieve/report-spam.sieve } } # Extprograms and extensions sieve_pipe_bin_dir = /usr/lib/dovecot/sieve sieve_plugins { sieve_extprograms = yes } sieve_global_extensions { vnd.dovecot.pipe = yes vnd.dovecot.execute = yes } # Limits and duplicate handling sieve_max_script_size = 1M sieve_max_redirects = 100 sieve_max_actions = 101 sieve_quota_script_count = 0 sieve_quota_storage_size = 0 sieve_vacation_min_period = 5s sieve_vacation_max_period = 365d sieve_vacation_default_period = 60s sieve_duplicate_default_period = 1m sieve_duplicate_max_period = 7d # pipe sockets in /var/run/dovecot/sieve-pipe sieve_pipe_socket_dir = sieve-pipe # execute sockets in /var/run/dovecot/sieve-execute sieve_execute_socket_dir = sieve-execute