Add POP3 support for GMail syncing
[sysconfig/dovecot.git] / conf.d / 90-sieve.conf
1 ##
2 ## Settings for the Sieve interpreter
3 ##
4
5 # Do not forget to enable the Sieve plugin in 15-lda.conf and 20-lmtp.conf
6 # by adding it to the respective mail_plugins= settings.
7
8 # The Sieve interpreter can retrieve Sieve scripts from several types of
9 # locations. The default `file' location type is a local filesystem path
10 # pointing to a Sieve script file or a directory containing multiple Sieve
11 # script files. More complex setups can use other location types such as
12 # `ldap' or `dict' to fetch Sieve scripts from remote databases.
13 #
14 # All settings that specify the location of one ore more Sieve scripts accept
15 # the following syntax:
16 #
17 # location = [<type>:]path[;<option>[=<value>][;...]]
18 #
19 # If the type prefix is omitted, the script location type is 'file' and the 
20 # location is interpreted as a local filesystem path pointing to a Sieve script
21 # file or directory. Refer to Pigeonhole wiki or INSTALL file for more
22 # information.
23
24 plugin {
25   # The location of the user's main Sieve script or script storage. The LDA
26   # Sieve plugin uses this to find the active script for Sieve filtering at
27   # delivery. The "include" extension uses this location for retrieving
28   # :personal" scripts. This is also where the  ManageSieve service will store
29   # the user's scripts, if supported.
30   # 
31   # Currently only the 'file:' location type supports ManageSieve operation.
32   # Other location types like 'dict:' and 'ldap:' can currently only
33   # be used as a read-only script source ().
34   #
35   # For the 'file:' type: use the ';active=' parameter to specify where the
36   # active script symlink is located.
37   # For other types: use the ';name=' parameter to specify the name of the
38   # default/active script.
39   sieve = file:~/sieve;active=~/.dovecot.sieve
40
41   # The default Sieve script when the user has none. This is the location of a
42   # global sieve script file, which gets executed ONLY if user's personal Sieve
43   # script doesn't exist. Be sure to pre-compile this script manually using the
44   # sievec command line tool if the binary is not stored in a global location.
45   # --> See sieve_before for executing scripts before the user's personal
46   #     script.
47   #sieve_default = /var/lib/dovecot/sieve/default.sieve
48
49   # The name by which the default Sieve script (as configured by the 
50   # sieve_default setting) is visible to the user through ManageSieve. 
51   #sieve_default_name = 
52
53   # Location for ":global" include scripts as used by the "include" extension.
54   #sieve_global =
55
56   # The location of a Sieve script that is run for any message that is about to
57   # be discarded; i.e., it is not delivered anywhere by the normal Sieve
58   # execution. This only happens when the "implicit keep" is canceled, by e.g.
59   # the "discard" action, and no actions that deliver the message are executed.
60   # This "discard script" can prevent discarding the message, by executing
61   # alternative actions. If the discard script does nothing, the message is
62         # still discarded as it would be when no discard script is configured.
63   #sieve_discard =
64
65   # Location Sieve of scripts that need to be executed before the user's
66   # personal script. If a 'file' location path points to a directory, all the 
67   # Sieve scripts contained therein (with the proper `.sieve' extension) are
68   # executed. The order of execution within that directory is determined by the
69   # file names, using a normal 8bit per-character comparison.
70   #
71   # Multiple script locations can be specified by appending an increasing number
72   # to the setting name. The Sieve scripts found from these locations are added
73   # to the script execution sequence in the specified order. Reading the
74   # numbered sieve_before settings stops at the first missing setting, so no
75   # numbers may be skipped.
76   #sieve_before = /var/lib/dovecot/sieve.d/
77   #sieve_before2 = ldap:/etc/sieve-ldap.conf;name=ldap-domain
78   #sieve_before3 = (etc...)
79
80   # Identical to sieve_before, only the specified scripts are executed after the
81   # user's script (only when keep is still in effect!). Multiple script
82   # locations can be specified by appending an increasing number.
83   #sieve_after =
84   #sieve_after2 =
85   #sieve_after2 = (etc...)
86
87   # Which Sieve language extensions are available to users. By default, all
88   # supported extensions are available, except for deprecated extensions or
89   # those that are still under development. Some system administrators may want
90   # to disable certain Sieve extensions or enable those that are not available
91   # by default. This setting can use '+' and '-' to specify differences relative
92   # to the default. For example `sieve_extensions = +imapflags' will enable the
93   # deprecated imapflags extension in addition to all extensions were already
94   # enabled by default.
95   #sieve_extensions = +notify +imapflags
96
97   # Which Sieve language extensions are ONLY available in global scripts. This
98   # can be used to restrict the use of certain Sieve extensions to administrator
99   # control, for instance when these extensions can cause security concerns.
100   # This setting has higher precedence than the `sieve_extensions' setting
101   # (above), meaning that the extensions enabled with this setting are never
102   # available to the user's personal script no matter what is specified for the
103   # `sieve_extensions' setting. The syntax of this setting is similar to the
104   # `sieve_extensions' setting, with the difference that extensions are
105   # enabled or disabled for exclusive use in global scripts. Currently, no
106   # extensions are marked as such by default.
107   #sieve_global_extensions =
108
109   # The Pigeonhole Sieve interpreter can have plugins of its own. Using this
110   # setting, the used plugins can be specified. Check the Dovecot wiki
111   # (wiki2.dovecot.org) or the pigeonhole website
112   # (http://pigeonhole.dovecot.org) for available plugins.
113   # The sieve_extprograms plugin is included in this release.
114   #sieve_plugins =
115
116   # The separator that is expected between the :user and :detail
117   # address parts introduced by the subaddress extension. This may
118   # also be a sequence of characters (e.g. '--'). The current
119   # implementation looks for the separator from the left of the
120   # localpart and uses the first one encountered. The :user part is
121   # left of the separator and the :detail part is right. This setting
122   # is also used by Dovecot's LMTP service.
123   #recipient_delimiter = +
124
125   # The maximum size of a Sieve script. The compiler will refuse to compile any
126   # script larger than this limit. If set to 0, no limit on the script size is
127   # enforced.
128   #sieve_max_script_size = 1M
129
130   # The maximum number of actions that can be performed during a single script
131   # execution. If set to 0, no limit on the total number of actions is enforced.
132   #sieve_max_actions = 32
133
134   # The maximum number of redirect actions that can be performed during a single
135   # script execution. If set to 0, no redirect actions are allowed.
136   #sieve_max_redirects = 4
137
138   # The maximum number of personal Sieve scripts a single user can have. If set
139   # to 0, no limit on the number of scripts is enforced.
140   # (Currently only relevant for ManageSieve)
141   #sieve_quota_max_scripts = 0
142
143   # The maximum amount of disk storage a single user's scripts may occupy. If
144   # set to 0, no limit on the used amount of disk storage is enforced.
145   # (Currently only relevant for ManageSieve)
146   #sieve_quota_max_storage = 0
147
148   # The primary e-mail address for the user. This is used as a default when no
149   # other appropriate address is available for sending messages. If this setting
150   # is not configured, either the postmaster or null "<>" address is used as a
151   # sender, depending on the action involved. This setting is important when
152   # there is no message envelope to extract addresses from, such as when the
153   # script is executed in IMAP.
154   #sieve_user_email =
155
156   # The path to the file where the user log is written. If not configured, a
157   # default location is used. If the main user's personal Sieve (as configured
158   # with sieve=) is a file, the logfile is set to <filename>.log by default. If
159   # it is not a file, the default user log file is ~/.dovecot.sieve.log.
160   #sieve_user_log =
161
162   # Specifies what envelope sender address is used for redirected messages.
163   # The following values are supported for this setting:
164   #
165   #   "sender"         - The sender address is used (default).
166   #   "recipient"      - The final recipient address is used.
167   #   "orig_recipient" - The original recipient is used.
168   #   "user_email"     - The user's primary address is used. This is
169   #                      configured with the "sieve_user_email" setting. If
170   #                      that setting is unconfigured, "user_mail" is equal to
171   #                      "recipient".
172   #   "postmaster"     - The postmaster_address configured for the LDA.
173   #   "<user@domain>"  - Redirected messages are always sent from user@domain.
174   #                      The angle brackets are mandatory. The null "<>" address
175   #                      is also supported.
176   #
177   # This setting is ignored when the envelope sender is "<>". In that case the
178   # sender of the redirected message is also always "<>".
179   #sieve_redirect_envelope_from = sender
180
181   ## TRACE DEBUGGING
182   # Trace debugging provides detailed insight in the operations performed by
183   # the Sieve script. These settings apply to both the LDA Sieve plugin and the
184   # IMAPSIEVE plugin. 
185   #
186   # WARNING: On a busy server, this functionality can quickly fill up the trace
187   # directory with a lot of trace files. Enable this only temporarily and as
188   # selective as possible.
189   
190   # The directory where trace files are written. Trace debugging is disabled if
191   # this setting is not configured or if the directory does not exist. If the 
192   # path is relative or it starts with "~/" it is interpreted relative to the
193   # current user's home directory.
194   #sieve_trace_dir =
195   
196   # The verbosity level of the trace messages. Trace debugging is disabled if
197   # this setting is not configured. Possible values are:
198   #
199   #   "actions"        - Only print executed action commands, like keep,
200   #                      fileinto, reject and redirect.
201   #   "commands"       - Print any executed command, excluding test commands.
202   #   "tests"          - Print all executed commands and performed tests.
203   #   "matching"       - Print all executed commands, performed tests and the
204   #                      values matched in those tests.
205   #sieve_trace_level =
206   
207   # Enables highly verbose debugging messages that are usually only useful for
208   # developers.
209   #sieve_trace_debug = no
210   
211   # Enables showing byte code addresses in the trace output, rather than only
212   # the source line numbers.
213   #sieve_trace_addresses = no 
214 }