Pigeonhole Sieve: File Location for Sieve Scripts ================================================= The 'file' <location type> [Pigeonhole.Sieve.Configuration.txt] 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. Configuration ------------- The script location syntax is specified as follows: ---%<------------------------------------------------------------------------- location = file:<path>[;<option>[=<value>][;...]] ---%<------------------------------------------------------------------------- The following additional options are recognized: active=<path> : When <ManageSieve> [Pigeonhole.ManageSieve.txt] 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 (andManageSieve cannot be used). Example ------- ---%<------------------------------------------------------------------------- plugin { ... sieve = file:~/sieve;active=~/.dovecot.sieve sieve_default = file:/var/lib/dovecot/;name=default } ---%<------------------------------------------------------------------------- On <Pigeonhole.Sieve.txt> 2.2.13-12~deb8u4 combined with <ManageSieve> [Pigeonhole.ManageSieve.txt] 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 } ---%<------------------------------------------------------------------------- (This file was created from the wiki on 2019-06-19 12:42)