85
85
plugin section of the config file (default values are shown if applicable):
87
87
sieve = ~/.dovecot.sieve
88
The path to the user's main active script.
88
The location of the user's main active script.
91
The path to the default personal sieve script file, which gets executed ONLY
92
if user's private Sieve script does no exist, e.g.
93
/var/lib/dovecot/default.sieve. This is usually a global script, so sure to
94
pre-compile this script manually using the sievec command line tool, as
95
explained in the README file.
98
This is the DEPRECATED former name of the sieve_default setting.
91
The location of the default personal sieve script file, which gets executed
92
ONLY if user's private Sieve script does no exist, e.g.
93
/var/lib/dovecot/default.sieve. This is usually a global script, so be sure
94
to pre-compile this script manually using the sievec command line tool, as
95
explained in the README file. This setting used to be called
96
`sieve_global_path', but that name is now deprecated.
100
98
sieve_global_dir =
101
Directory for :global include scripts for the Sieve include extension.
99
Location for :global include scripts for the Sieve include extension.
104
Directory for :personal include scripts for the Sieve include extension.
102
Location for :personal include scripts for the Sieve include extension.
106
104
sieve_extensions =
107
105
Which Sieve language extensions are available to users. By default, all
131
129
(wiki2.dovecot.org) or the pigeonhole website (http://pigeonhole.dovecot.org)
132
130
for available plugins.
133
The path to the file where the user log file is written. If not configured, a
134
default location is used. If the main user's personal Sieve (as configured
135
with sieve=) is a file, the logfile is set to <filename>.log by default. If
136
it is not a file, the default user log file is ~/.dovecot.sieve.log.
134
138
recipient_delimiter = +
135
139
The separator that is expected between the :user and :detail address parts
136
140
introduced by the subaddress extension. This may also be a sequence of
176
180
The maximum number of redirect actions that can be performed during a single
177
181
script execution. If set to 0, no redirect actions are allowed.
179
Sieve Interpreter - Per-user Sieve script location
183
Sieve Interpreter - Script Locations
184
------------------------------------
186
The location of Sieve scripts is not limited to the file system. The Sieve
187
interpreter can be extended to retrieve Sieve scripts from other sources as
188
well, such as a database. Currently, all settings that are used to obtain the
189
location of a single Sieve script, such as sieve=, sieve_default=, sieve_dir=
190
and sieve_global_dir= accept the following extended syntax:
192
location = [<type>:]path[;<option>[=<value>][;...]]
194
The following script location types are implemented by default:
196
file - The location path is a file system path pointing to the script file
197
or a directory containing script files with names structured as
198
`<script-name>.sieve'.
199
dict - Dovecot dict lookup. The location path is a dict uri. Read
200
doc/scipt-location-dict.txt for more information and examples.
202
If the type prefix is omitted, the script location type is 'file'.
204
The following options are defined for all location types:
207
Set the name of the Sieve script that this location points to. If the name
208
of the Sieve script is not contained in the location path, this option is
209
required (e.g. for dict locations that must point to a particular script).
210
If the name of the script is contained in the location, the value of the
211
name option overrides the name retrieved from the location. If the Sieve
212
interpreter explicitly queries for a specific name (e.g. to include a script
213
from the sieve_dir= location), this option has no effect.
216
Points to the directory where the compiled binaries for this script location
217
are stored. If this option is omitted, the behavior depends on the location
218
type. For `file' type locations, the binary is then stored in the same
219
directory as where the script file was found if possible. For `dict' type
220
locations, the binary is not stored at all in that case. Don't specify the
221
same directory for different script locations, as this will result in
224
Sieve Interpreter - Per-user Sieve Script Location
180
225
--------------------------------------------------
182
227
By default, the Pigeonhole LDA Sieve plugin looks for the user's Sieve script
184
229
home directory is set for the user.
186
231
If you want to store the script elsewhere, you can override the default using
187
the sieve setting, which specifies the path to the user's script file. This can
232
the sieve= setting, which specifies the location of the user's script file. This
233
can be done in two ways:
190
235
1. Define the sieve setting in the plugin section of dovecot.conf.
191
236
2. Return sieve extra field from userdb extra fields.
215
260
config file control the execution sequence:
264
sieve_before3 = (etc..)
218
265
Path to a script file or a directory containing script files that need to be
219
executed before the user's script. If the path points to a directory, all the
220
Sieve scripts contained therein (with the proper .sieve extension) are
221
executed. The order of execution is determined by the file names, using a
222
normal 8bit per-character comparison.
266
executed before the user's personal script. If the path points to a
267
directory, all the Sieve scripts contained therein (with the proper .sieve
268
extension) are executed. The order of execution within that directory is
269
determined by the file names, using a normal 8bit per-character comparison.
271
Multiple script file or directory paths can be specified by appending an
272
increasing number. The Sieve scripts found from these paths are added to the
273
script execution sequence in the specified order. Reading the numbered
274
sieve_before settings stops at the first missing setting, so no numbers may
225
Identical to sieve_before, only the specified scripts are executed after the
226
user's script (only when keep is still in effect!).
279
sieve_after3 = (etc..)
280
Identical to sieve_before, but the specified scripts are executed after the
281
user's script (only when keep is still in effect, as explained below).
228
283
The script execution ends when the currently executing script in the sequence
229
284
does not yield a "keep" result: when the script terminates, the next script is
260
# Scripts executed before the user's script.
315
# Global scripts executed before the user's personal script.
261
316
# E.g. handling messages marked as dangerous
262
317
sieve_before = /var/lib/dovecot/sieve/discard-virusses.sieve
264
# Scripts executed after the user's script (if keep is still in effect)
319
# User-specific scripts executed before the user's personal script.
320
# E.g. a vacation script managed through a non-ManageSieve GUI.
321
sieve_before2 = /var/vmail/%d/%n/sieve-before
323
# User-specific scripts executed after the user's personal script.
324
# (if keep is still in effect)
325
# E.g. user-specific default mail filing rules
326
sieve_after = /var/vmail/%d/%n/sieve-after
328
# Global scripts executed after the user's personal script
329
# (if keep is still in effect)
265
330
# E.g. default mail filing rules.
266
sieve_after = /var/lib/dovecot/sieve/after.d/
331
sieve_after2 = /var/lib/dovecot/sieve/after.d/
269
IMPORTANT: Be sure to manually pre-compile the scripts specified by sieve_before
270
and sieve_after using the sievec tool, as explained in the README file.
334
IMPORTANT: The scripts specified by sieve_before and sieve_after are often
335
located in global locations to which the Sieve interpreter has no write access.
336
In that case be sure to manually pre-compile those scripts using the sievec
337
tool, as explained in the README file.
272
339
Sieve Interpreter - Extension Configuration
273
340
-------------------------------------------
287
355
automatic replies to incoming email messages.
289
357
The vacation extension is available by default, but it has its own specific
290
configuration options. Refer to doc/vacation.txt for settings specific to the
358
configuration options. Refer to doc/extensions/vacation.txt for settings
359
specific to the vacation extension.
293
361
- Include extension:
298
366
The include extension is available by default, but it has its own specific
299
configuration options. Refer to doc/include.txt for settings specific to the
367
configuration options. Refer to doc/extensions/include.txt for settings
368
specific to the include extension.
302
370
- Spamtest and Virustest extensions:
313
381
The spamtest, spamtestplus and virustest extensions require explicit
314
382
configuration and are not enabled for use by default. Refer to
315
doc/spamtest-virustest.txt for configuration information.
383
doc/extensions/spamtest-virustest.txt for configuration information.
317
385
Sieve Interpreter - Migration from CMUSieve (Dovecot v1.0/v1.1)
318
386
---------------------------------------------------------------