26
Sieve language has various extensions. You can find more information about the
27
extensions from the Sieve Mail Filtering Language Charter
28
[http://www.ietf.org/html.charters/sieve-charter.html] or the Sieve.info wiki
29
page [http://www.sieve.info/].
26
Sieve language has various <extensions> [Pigeonhole.Sieve.Extensions.txt]. You
27
can find more information about the extensions from the Sieve Mail Filtering
28
Language Charter [http://www.ietf.org/html.charters/sieve-charter.html] or the
29
Sieve.info wiki page [http://www.sieve.info/].
31
31
Note that Sieve doesn't support running external programs.
33
33
The Pigeonhole Sieve interpreter recognizes the following Sieve extensions:
36
+-----------------------------------------------------------------+--------------+----------------+
37
| *Extension* | *Support | *Purpose* |
39
+-----------------------------------------------------------------+--------------+----------------+
40
| fileinto [http://tools.ietf.org/html/rfc5228#section-4.1] | supported | Allows storing |
44
+-----------------------------------------------------------------+--------------+----------------+
45
| envelope [http://tools.ietf.org/html/rfc5228#section-5.4] | supported | Allows |
47
| | | envelope parts,|
48
| | | i.e. sender and|
50
+-----------------------------------------------------------------+--------------+----------------+
51
| encoded-character | supported | Allows encoding|
52
| [http://tools.ietf.org/html/rfc5228#section-2.4.2.4] | | special |
55
+-----------------------------------------------------------------+--------------+----------------+
56
| copy [http://tools.ietf.org/html/rfc3894/] | supported | Allows storing |
57
| | | and forwarding |
62
+-----------------------------------------------------------------+--------------+----------------+
63
| body [http://tools.ietf.org/html/rfc5173/] | supported | Allows |
64
| | | evaluating the |
67
+-----------------------------------------------------------------+--------------+----------------+
68
| variables [http://tools.ietf.org/html/rfc5229/] | supported | Adds variables |
69
| | | support to the |
71
+-----------------------------------------------------------------+--------------+----------------+
72
| vacation [http://tools.ietf.org/html/rfc5230/] | supported | Provides |
73
| | | auto-responder |
74
| | | functionality, |
76
| | | the user is on |
78
+-----------------------------------------------------------------+--------------+----------------+
79
| relational [http://tools.ietf.org/html/rfc5231/] | supported | Provides |
82
+-----------------------------------------------------------------+--------------+----------------+
83
| imap4flags [http://tools.ietf.org/html/rfc5232/] | supported | Allows adding |
85
| | | stored messages|
86
+-----------------------------------------------------------------+--------------+----------------+
87
| subaddress [http://tools.ietf.org/html/rfc5233/] | supported | Allows testing |
90
| | | elements of the|
93
+-----------------------------------------------------------------+--------------+----------------+
94
| reject [http://tools.ietf.org/html/rfc5429#section-2.2] | supported | Allows |
96
| | | messages with a|
98
| | | bounce message |
99
+-----------------------------------------------------------------+--------------+----------------+
100
| enotify [http://tools.ietf.org/html/rfc5435/] | supported | Provides the |
101
| | | ability to send|
102
| | | notifications |
105
| | | (currently only|
107
+-----------------------------------------------------------------+--------------+----------------+
108
| mailbox [http://tools.ietf.org/html/rfc5490#section-3] | supported | Provides a |
110
| | | existence check|
113
| | | mailboxes upon |
115
+-----------------------------------------------------------------+--------------+----------------+
116
| environment [http://tools.ietf.org/html/rfc5183/] | basic | Allows testing |
117
| | | against various|
118
| | | labeled values |
122
+-----------------------------------------------------------------+--------------+----------------+
123
| date [http://tools.ietf.org/html/rfc5260#section-4] | supported | Adds the |
124
| | | ability to test|
125
| | | date and time |
128
+-----------------------------------------------------------------+--------------+----------------+
129
| regex | supported | Provides |
130
| [http://tools.ietf.org/html/draft-murchison-sieve-regex-08/] | | regular |
132
| | | match support |
133
+-----------------------------------------------------------------+--------------+----------------+
134
| spamtest and virustest [http://tools.ietf.org/html/rfc5235/] | experimental | Implements a |
135
| | | uniform way to |
137
| | | headers added |
139
| | | virus scanners |
140
+-----------------------------------------------------------------+--------------+----------------+
141
| include [http://tools.ietf.org/html/draft-ietf-sieve-include-05]| supported | Allows |
142
| | | including other|
143
| | | Sieve scripts |
144
+-----------------------------------------------------------------+--------------+----------------+
145
| imapflags(obsolete draft | supported | Old version of |
146
| [http://tools.ietf.org/html/draft-melnikov-sieve-imapflags-03]) | | imap4flags (for|
148
| | | compatibility |
149
| | | with CMU Sieve;|
152
+-----------------------------------------------------------------+--------------+----------------+
153
| notify (obsolete draft | supported | Old version of |
154
| [http://tools.ietf.org/html/draft-martin-sieve-notify-01]) | | enotify (for |
156
| | | compatibility |
157
| | | with CMU Sieve;|
160
+-----------------------------------------------------------------+--------------+----------------+
36
+-----------------------------------------------------------------+------------+----------+----------------+
37
| *Extension* | *Support | *Default | *Purpose* |
38
| | Status* | Enabled* | |
39
+-----------------------------------------------------------------+------------+----------+----------------+
40
| fileinto [http://tools.ietf.org/html/rfc5228#section-4.1] | supported | yes | Allows storing |
42
| | | | folders other |
44
+-----------------------------------------------------------------+------------+----------+----------------+
45
| envelope [http://tools.ietf.org/html/rfc5228#section-5.4] | supported | yes | Allows |
47
| | | | envelope parts,|
48
| | | | i.e. sender and|
50
+-----------------------------------------------------------------+------------+----------+----------------+
51
| encoded-character | supported | yes | Allows encoding|
52
| [http://tools.ietf.org/html/rfc5228#section-2.4.2.4] | | | special |
55
+-----------------------------------------------------------------+------------+----------+----------------+
56
| copy [http://tools.ietf.org/html/rfc3894/] | supported | yes | Allows storing |
57
| | | | and forwarding |
60
| | | | canceling the |
61
| | | | implicit keep |
62
+-----------------------------------------------------------------+------------+----------+----------------+
63
| body [http://tools.ietf.org/html/rfc5173/] | supported | yes | Allows |
64
| | | | evaluating the |
67
+-----------------------------------------------------------------+------------+----------+----------------+
68
| variables [http://tools.ietf.org/html/rfc5229/] | supported | yes | Adds variables |
69
| | | | support to the |
71
+-----------------------------------------------------------------+------------+----------+----------------+
72
| vacation [http://tools.ietf.org/html/rfc5230/] | supported | yes | Provides |
73
| | | | auto-responder |
74
| | | | functionality, |
75
| | | | e.g. for when |
76
| | | | the user is on |
78
+-----------------------------------------------------------------+------------+----------+----------------+
79
| vacation-seconds [http://tools.ietf.org/html/rfc6131/] | supported | no | Extends |
80
| | (0.2.3+) | | vacation |
81
| | | | extension with |
82
| | | | the ability to |
83
| | | | send vacation |
84
| | | | responses with |
85
| | | | intervals of |
86
| | | | seconds rather |
88
+-----------------------------------------------------------------+------------+----------+----------------+
89
| relational [http://tools.ietf.org/html/rfc5231/] | supported | yes | Provides |
91
| | | | match support |
92
+-----------------------------------------------------------------+------------+----------+----------------+
93
| imap4flags [http://tools.ietf.org/html/rfc5232/] | supported | yes | Allows adding |
94
| | | | IMAP flags to |
95
| | | | stored messages|
96
+-----------------------------------------------------------------+------------+----------+----------------+
97
| subaddress [http://tools.ietf.org/html/rfc5233/] | supported | yes | Allows testing |
100
| | | | elements of the|
101
| | | | local part of |
103
+-----------------------------------------------------------------+------------+----------+----------------+
104
| reject [http://tools.ietf.org/html/rfc5429#section-2.2] | supported | yes | Allows |
106
| | | | messages with a|
108
| | | | bounce message |
109
+-----------------------------------------------------------------+------------+----------+----------------+
110
| enotify [http://tools.ietf.org/html/rfc5435/] | supported | yes | Provides the |
111
| | | | ability to send|
112
| | | | notifications |
115
| | | | (currently only|
117
+-----------------------------------------------------------------+------------+----------+----------------+
118
| mailbox [http://tools.ietf.org/html/rfc5490#section-3] | supported | yes | Provides a |
120
| | | | existence check|
123
| | | | mailboxes upon |
125
+-----------------------------------------------------------------+------------+----------+----------------+
126
| environment [http://tools.ietf.org/html/rfc5183/] | supported | yes | Allows testing |
127
| | (v0.4.0+) | | against various|
128
| | | | labeled values |
131
| | | | environment |
132
+-----------------------------------------------------------------+------------+----------+----------------+
133
| date [http://tools.ietf.org/html/rfc5260#section-4] | supported | yes | Adds the |
134
| | | | ability to test|
135
| | | | date and time |
137
| | | | various ways |
138
+-----------------------------------------------------------------+------------+----------+----------------+
139
| regex | supported | yes | Provides |
140
| [http://tools.ietf.org/html/draft-murchison-sieve-regex-08/] | | | regular |
142
| | | | match support |
143
+-----------------------------------------------------------------+------------+----------+----------------+
144
| editheader [http://tools.ietf.org/html/rfc5293/] | supported | no | Adds the |
145
| | (v0.3.0+) | | ability to add |
147
| | | | message header |
149
+-----------------------------------------------------------------+------------+----------+----------------+
150
| ihave [http://tools.ietf.org/html/rfc5463/] | supported | yes | Adds the |
151
| | (v0.2.4+) | | ability to test|
152
| | | | for support of |
154
| | | | extensions and |
155
| | | | dynamically |
156
| | | | invoke their use|
157
+-----------------------------------------------------------------+------------+----------+----------------+
158
| spamtest and virustest [http://tools.ietf.org/html/rfc5235/] | supported | no | Implements a |
159
| | (v0.1.16+) | | uniform way to |
160
| | | | test against |
161
| | | | headers added |
162
| | | | by spam and |
163
| | | | virus scanners |
164
+-----------------------------------------------------------------+------------+----------+----------------+
165
| include [http://tools.ietf.org/html/rfc6609/] | supported | yes | Allows |
166
| | | | including other|
167
| | | | Sieve scripts |
168
+-----------------------------------------------------------------+------------+----------+----------------+
169
| imapflags(obsolete draft | deprecated | no | Old version of |
170
| [http://tools.ietf.org/html/draft-melnikov-sieve-imapflags-03]) | | | imap4flags (for|
172
| | | | compatibility |
173
| | | | with CMU Sieve)|
174
+-----------------------------------------------------------------+------------+----------+----------------+
175
| notify (obsolete draft | deprecated | no | Old version of |
176
| [http://tools.ietf.org/html/draft-martin-sieve-notify-01]) | | | enotify (for |
178
| | | | compatibility |
179
| | | | with CMU Sieve)|
180
+-----------------------------------------------------------------+------------+----------+----------------+
182
The following Dovecot-specific Sieve extensions are available for the
183
Pigeonhole Sieve interpreter:
186
+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------+----------+-------------+
187
| *Extension* | *Support Status* | *Default | *Purpose* |
189
+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------+----------+-------------+
190
| vnd.dovecot.debug [http://hg.rename-it.nl/dovecot-2.1-pigeonhole/raw-file/tip/doc/rfc/spec-bosch-sieve-debug.txt]| supported (v0.3.0+) | no | Allows |
194
+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------+----------+-------------+
195
| vnd.dovecot.duplicate | experimental (v0.3.1+) | no | Allows |
196
| [http://hg.rename-it.nl/dovecot-2.1-pigeonhole/raw-file/tip/doc/rfc/spec-bosch-sieve-duplicate.txt] | | | detecting |
202
+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------+----------+-------------+
203
| vnd.dovecot.extdata | <plugin> | no | Allows a |
204
| [http://hg.rename-it.nl/pigeonhole-0.2-sieve-extdata/raw-file/tip/doc/rfc/spec-bosch-sieve-external-data.txt] | [Pigeonhole.Sieve.Plugins.Extdata.txt] | | Sieve script|
206
| | | | information |
209
| | | | external to |
211
+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------+----------+-------------+
212
| vnd.dovecot.pipe | <plugin> | no | Implements |
213
| [http://hg.rename-it.nl/pigeonhole-0.3-sieve-extprograms/raw-file/tip/doc/rfc/spec-bosch-sieve-extprograms.txt] | [Pigeonhole.Sieve.Plugins.Pipe.txt] (v0.2),| | piping |
214
| | <plugin> | | messages to |
215
| | [Pigeonhole.Sieve.Plugins.Extprograms.txt] | | a |
216
| | (v0.3+) | | pre-defined |
220
+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------+----------+-------------+
221
| vnd.dovecot.filter | <plugin> | no | Implements |
222
| [http://hg.rename-it.nl/pigeonhole-0.3-sieve-extprograms/raw-file/tip/doc/rfc/spec-bosch-sieve-extprograms.txt] | [Pigeonhole.Sieve.Plugins.Extprograms.txt] | | filtering |
223
| | (v0.3+) | | messages |
225
| | | | pre-defined |
229
+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------+----------+-------------+
230
| vnd.dovecot.execute | <plugin> | no | Implements |
231
| [http://hg.rename-it.nl/pigeonhole-0.3-sieve-extprograms/raw-file/tip/doc/rfc/spec-bosch-sieve-extprograms.txt] | [Pigeonhole.Sieve.Plugins.Extprograms.txt] | | executing a |
232
| | (v0.3+) | | pre-defined |
239
| | | | string data |
240
| | | | through the |
243
+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------+----------+-------------+
245
Please note that not all extensions are enabled by default, as shown in the
246
table above. Deprecated extensions, extensions that add the ability to change
247
messages, extensions that require explicit configuration and extensions that
248
are still under development are not enabled without explicit <configuration>
249
[Pigeonhole.Sieve.Configuration.txt]. This means that the 'sieve_extensions' or
250
'sieve_global_extensions' settings need to be adjusted accordingly. Also, for
251
<plugins> [Pigeonhole.Sieve.Plugins.txt] it is not enough to add the plugin
252
name to the 'sieve_plugins' setting; the extensions introduced by the plugin
253
also need to be enabled explicitly.
162
255
ManageSieve server
163
256
------------------