summaryrefslogtreecommitdiffstats
path: root/doc/wiki/Pigeonhole.Sieve.Configuration.File.txt
blob: 0b95abbcd412427cfd61d71dd940fb90057af26b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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)