This documentation is for Dovecot v2.x, see wiki1 for v1.x documentation.

Pigeonhole Sieve: File Location for Sieve Scripts

The file location type is used to retrieve Sieve scripts from the file system. This is the default type if the type specifier is omitted from the location specification. The location can either point to a directory or to a regular file. If the location points to a directory, a script called name is retrieved by reading a file from that directory with the file name name.sieve.

When this location type is involved in a sieve_before or sieve_after script sequence and the location points to a directory, all files in that directory with a .sieve extension are part of the sequence. The sequence order of the scripts in that directory is determined by the file names, using a normal 8bit per-character comparison.

Unless overridden using the ;bindir=<path> location option, compiled binaries for scripts retrieved from the file location type are by default stored in the same directory as where the script file was found if possible.


The script location syntax is specified as follows:

location = file:<path>[;<option>[=<value>][;...]]

The following additional options are recognized:


When ManageSieve is used, one script in the storage can be active; i.e., evaluated at delivery. For the file location type, the active script in the storage directory is pointed to by a symbolic link. This option configures where this symbolic link is located. If the file location path points to a regular file, this setting has no effect (and ManageSieve cannot be used).


plugin {
  sieve = file:~/sieve;active=~/.dovecot.sieve

  sieve_default = file:/var/lib/dovecot/;name=default

On Pigeonhole/Sieve 2.2.13-12~deb8u4 combined with ManageSieve on Debian the active option didn't worked and it lead to following errors/warnings:

Warning: sieve-storage: Active sieve script symlink /var/mail/xxx/xxx/xxx/sieve is no symlink

Error: sieve: sieve file backend: invalid option `active=~/.dovecot.sieve'

managesieve(<MAILBOX>): Error: sieve-storage: Active sieve script file '/var/mail/xxx/xxx/xxx/sieve' is no symlink nor a regular file. This needs to be fixed manually.

Therefore we just used it without the active option as follows and then it worked:

(We adjusted of course the file paths to our needs)

plugin {
  sieve = file:~/sieve;

  sieve_default = file:/var/lib/dovecot/;name=default

None: Pigeonhole/Sieve/Configuration/File (last edited 2018-06-06 21:29:24 by 62-178-24-37)