summaryrefslogtreecommitdiff
path: root/dovecot/conf.d/90-sieve.conf
blob: d543a29adbb1b02eab389c08649bf377641df583 (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. sieve_after = /etc/dovecot/sieve-after/spam-to-folder.sieve
  71. # Which Sieve language extensions are available to users. By default, all
  72. # supported extensions are available, except for deprecated extensions or
  73. # those that are still under development. Some system administrators may want
  74. # to disable certain Sieve extensions or enable those that are not available
  75. # by default. This setting can use '+' and '-' to specify differences relative
  76. # to the default. For example `sieve_extensions = +imapflags' will enable the
  77. # deprecated imapflags extension in addition to all extensions were already
  78. # enabled by default.
  79. #sieve_extensions = +notify +imapflags
  80. sieve_extensions = +spamtest +spamtestplus
  81. sieve_spamtest_status_type = score
  82. sieve_spamtest_status_header = X-Spam-Status:.* score=(-?[[:digit:]]+\.[[:digit:]]+) .*
  83. sieve_spamtest_max_header = X-Spam-Status:.* required=([[:digit:]]+\.[[:digit:]]+) .*
  84. # Which Sieve language extensions are ONLY available in global scripts. This
  85. # can be used to restrict the use of certain Sieve extensions to administrator
  86. # control, for instance when these extensions can cause security concerns.
  87. # This setting has higher precedence than the `sieve_extensions' setting
  88. # (above), meaning that the extensions enabled with this setting are never
  89. # available to the user's personal script no matter what is specified for the
  90. # `sieve_extensions' setting. The syntax of this setting is similar to the
  91. # `sieve_extensions' setting, with the difference that extensions are
  92. # enabled or disabled for exclusive use in global scripts. Currently, no
  93. # extensions are marked as such by default.
  94. #sieve_global_extensions =
  95. # The Pigeonhole Sieve interpreter can have plugins of its own. Using this
  96. # setting, the used plugins can be specified. Check the Dovecot wiki
  97. # (wiki2.dovecot.org) or the pigeonhole website
  98. # (http://pigeonhole.dovecot.org) for available plugins.
  99. # The sieve_extprograms plugin is included in this release.
  100. #sieve_plugins =
  101. # The separator that is expected between the :user and :detail
  102. # address parts introduced by the subaddress extension. This may
  103. # also be a sequence of characters (e.g. '--'). The current
  104. # implementation looks for the separator from the left of the
  105. # localpart and uses the first one encountered. The :user part is
  106. # left of the separator and the :detail part is right. This setting
  107. # is also used by Dovecot's LMTP service.
  108. #recipient_delimiter = +
  109. # The maximum size of a Sieve script. The compiler will refuse to compile any
  110. # script larger than this limit. If set to 0, no limit on the script size is
  111. # enforced.
  112. #sieve_max_script_size = 1M
  113. # The maximum number of actions that can be performed during a single script
  114. # execution. If set to 0, no limit on the total number of actions is enforced.
  115. #sieve_max_actions = 32
  116. # The maximum number of redirect actions that can be performed during a single
  117. # script execution. If set to 0, no redirect actions are allowed.
  118. #sieve_max_redirects = 4
  119. # The maximum number of personal Sieve scripts a single user can have. If set
  120. # to 0, no limit on the number of scripts is enforced.
  121. # (Currently only relevant for ManageSieve)
  122. #sieve_quota_max_scripts = 0
  123. # The maximum amount of disk storage a single user's scripts may occupy. If
  124. # set to 0, no limit on the used amount of disk storage is enforced.
  125. # (Currently only relevant for ManageSieve)
  126. #sieve_quota_max_storage = 0
  127. # The primary e-mail address for the user. This is used as a default when no
  128. # other appropriate address is available for sending messages. If this setting
  129. # is not configured, either the postmaster or null "<>" address is used as a
  130. # sender, depending on the action involved. This setting is important when
  131. # there is no message envelope to extract addresses from, such as when the
  132. # script is executed in IMAP.
  133. #sieve_user_email =
  134. # The path to the file where the user log is written. If not configured, a
  135. # default location is used. If the main user's personal Sieve (as configured
  136. # with sieve=) is a file, the logfile is set to <filename>.log by default. If
  137. # it is not a file, the default user log file is ~/.dovecot.sieve.log.
  138. #sieve_user_log =
  139. # Specifies what envelope sender address is used for redirected messages.
  140. # The following values are supported for this setting:
  141. #
  142. # "sender" - The sender address is used (default).
  143. # "recipient" - The final recipient address is used.
  144. # "orig_recipient" - The original recipient is used.
  145. # "user_email" - The user's primary address is used. This is
  146. # configured with the "sieve_user_email" setting. If
  147. # that setting is unconfigured, "user_mail" is equal to
  148. # "recipient".
  149. # "postmaster" - The postmaster_address configured for the LDA.
  150. # "<user@domain>" - Redirected messages are always sent from user@domain.
  151. # The angle brackets are mandatory. The null "<>" address
  152. # is also supported.
  153. #
  154. # This setting is ignored when the envelope sender is "<>". In that case the
  155. # sender of the redirected message is also always "<>".
  156. #sieve_redirect_envelope_from = sender
  157. ## TRACE DEBUGGING
  158. # Trace debugging provides detailed insight in the operations performed by
  159. # the Sieve script. These settings apply to both the LDA Sieve plugin and the
  160. # IMAPSIEVE plugin.
  161. #
  162. # WARNING: On a busy server, this functionality can quickly fill up the trace
  163. # directory with a lot of trace files. Enable this only temporarily and as
  164. # selective as possible.
  165. # The directory where trace files are written. Trace debugging is disabled if
  166. # this setting is not configured or if the directory does not exist. If the
  167. # path is relative or it starts with "~/" it is interpreted relative to the
  168. # current user's home directory.
  169. #sieve_trace_dir =
  170. # The verbosity level of the trace messages. Trace debugging is disabled if
  171. # this setting is not configured. Possible values are:
  172. #
  173. # "actions" - Only print executed action commands, like keep,
  174. # fileinto, reject and redirect.
  175. # "commands" - Print any executed command, excluding test commands.
  176. # "tests" - Print all executed commands and performed tests.
  177. # "matching" - Print all executed commands, performed tests and the
  178. # values matched in those tests.
  179. #sieve_trace_level =
  180. # Enables highly verbose debugging messages that are usually only useful for
  181. # developers.
  182. #sieve_trace_debug = no
  183. # Enables showing byte code addresses in the trace output, rather than only
  184. # the source line numbers.
  185. #sieve_trace_addresses = no
  186. }