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