90-sieve.conf 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  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. sieve = file:~/mail/%d/%n/sieve;active=~/mail/%d/%n/dovecot.sieve
  38. # The default Sieve script when the user has none. This is the location of a
  39. # global sieve script file, which gets executed ONLY if user's personal Sieve
  40. # script doesn't exist. Be sure to pre-compile this script manually using the
  41. # sievec command line tool if the binary is not stored in a global location.
  42. # --> See sieve_before for executing scripts before the user's personal
  43. # script.
  44. #sieve_default = /var/lib/dovecot/sieve/default.sieve
  45. # The name by which the default Sieve script (as configured by the
  46. # sieve_default setting) is visible to the user through ManageSieve.
  47. #sieve_default_name =
  48. # Location for ":global" include scripts as used by the "include" extension.
  49. #sieve_global =
  50. # The location of a Sieve script that is run for any message that is about to
  51. # be discarded; i.e., it is not delivered anywhere by the normal Sieve
  52. # execution. This only happens when the "implicit keep" is canceled, by e.g.
  53. # the "discard" action, and no actions that deliver the message are executed.
  54. # This "discard script" can prevent discarding the message, by executing
  55. # alternative actions. If the discard script does nothing, the message is
  56. # still discarded as it would be when no discard script is configured.
  57. #sieve_discard =
  58. # Location Sieve of scripts that need to be executed before the user's
  59. # personal script. If a 'file' location path points to a directory, all the
  60. # Sieve scripts contained therein (with the proper `.sieve' extension) are
  61. # executed. The order of execution within that directory is determined by the
  62. # file names, using a normal 8bit per-character comparison.
  63. #
  64. # Multiple script locations can be specified by appending an increasing number
  65. # to the setting name. The Sieve scripts found from these locations are added
  66. # to the script execution sequence in the specified order. Reading the
  67. # numbered sieve_before settings stops at the first missing setting, so no
  68. # numbers may be skipped.
  69. #sieve_before = /var/lib/dovecot/sieve.d/
  70. #sieve_before2 = ldap:/etc/sieve-ldap.conf;name=ldap-domain
  71. #sieve_before3 = (etc...)
  72. # Identical to sieve_before, only the specified scripts are executed after the
  73. # user's script (only when keep is still in effect!). Multiple script
  74. # locations can be specified by appending an increasing number.
  75. #sieve_after =
  76. #sieve_after2 =
  77. #sieve_after2 = (etc...)
  78. # Which Sieve language extensions are available to users. By default, all
  79. # supported extensions are available, except for deprecated extensions or
  80. # those that are still under development. Some system administrators may want
  81. # to disable certain Sieve extensions or enable those that are not available
  82. # by default. This setting can use '+' and '-' to specify differences relative
  83. # to the default. For example `sieve_extensions = +imapflags' will enable the
  84. # deprecated imapflags extension in addition to all extensions were already
  85. # enabled by default.
  86. sieve_extensions = +notify +imapflags
  87. # Which Sieve language extensions are ONLY available in global scripts. This
  88. # can be used to restrict the use of certain Sieve extensions to administrator
  89. # control, for instance when these extensions can cause security concerns.
  90. # This setting has higher precedence than the `sieve_extensions' setting
  91. # (above), meaning that the extensions enabled with this setting are never
  92. # available to the user's personal script no matter what is specified for the
  93. # `sieve_extensions' setting. The syntax of this setting is similar to the
  94. # `sieve_extensions' setting, with the difference that extensions are
  95. # enabled or disabled for exclusive use in global scripts. Currently, no
  96. # extensions are marked as such by default.
  97. sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment
  98. # The Pigeonhole Sieve interpreter can have plugins of its own. Using this
  99. # setting, the used plugins can be specified. Check the Dovecot wiki
  100. # (wiki2.dovecot.org) or the pigeonhole website
  101. # (http://pigeonhole.dovecot.org) for available plugins.
  102. # The sieve_extprograms plugin is included in this release.
  103. sieve_plugins = sieve_imapsieve sieve_extprograms
  104. sieve_pipe_bin_dir = /etc/dovecot/sieve
  105. # The maximum size of a Sieve script. The compiler will refuse to compile any
  106. # script larger than this limit. If set to 0, no limit on the script size is
  107. # enforced.
  108. #sieve_max_script_size = 1M
  109. # The maximum number of actions that can be performed during a single script
  110. # execution. If set to 0, no limit on the total number of actions is enforced.
  111. #sieve_max_actions = 32
  112. # The maximum number of redirect actions that can be performed during a single
  113. # script execution. If set to 0, no redirect actions are allowed.
  114. #sieve_max_redirects = 4
  115. # The maximum number of personal Sieve scripts a single user can have. If set
  116. # to 0, no limit on the number of scripts is enforced.
  117. # (Currently only relevant for ManageSieve)
  118. #sieve_quota_max_scripts = 0
  119. # The maximum amount of disk storage a single user's scripts may occupy. If
  120. # set to 0, no limit on the used amount of disk storage is enforced.
  121. # (Currently only relevant for ManageSieve)
  122. #sieve_quota_max_storage = 0
  123. # The primary e-mail address for the user. This is used as a default when no
  124. # other appropriate address is available for sending messages. If this setting
  125. # is not configured, either the postmaster or null "<>" address is used as a
  126. # sender, depending on the action involved. This setting is important when
  127. # there is no message envelope to extract addresses from, such as when the
  128. # script is executed in IMAP.
  129. #sieve_user_email =
  130. # The path to the file where the user log is written. If not configured, a
  131. # default location is used. If the main user's personal Sieve (as configured
  132. # with sieve=) is a file, the logfile is set to <filename>.log by default. If
  133. # it is not a file, the default user log file is ~/.dovecot.sieve.log.
  134. #sieve_user_log =
  135. # Specifies what envelope sender address is used for redirected messages.
  136. # The following values are supported for this setting:
  137. #
  138. # "sender" - The sender address is used (default).
  139. # "recipient" - The final recipient address is used.
  140. # "orig_recipient" - The original recipient is used.
  141. # "user_email" - The user's primary address is used. This is
  142. # configured with the "sieve_user_email" setting. If
  143. # that setting is unconfigured, "user_mail" is equal to
  144. # "recipient".
  145. # "postmaster" - The postmaster_address configured for the LDA.
  146. # "<user@domain>" - Redirected messages are always sent from user@domain.
  147. # The angle brackets are mandatory. The null "<>" address
  148. # is also supported.
  149. #
  150. # This setting is ignored when the envelope sender is "<>". In that case the
  151. # sender of the redirected message is also always "<>".
  152. #sieve_redirect_envelope_from = sender
  153. ## TRACE DEBUGGING
  154. # Trace debugging provides detailed insight in the operations performed by
  155. # the Sieve script. These settings apply to both the LDA Sieve plugin and the
  156. # IMAPSIEVE plugin.
  157. #
  158. # WARNING: On a busy server, this functionality can quickly fill up the trace
  159. # directory with a lot of trace files. Enable this only temporarily and as
  160. # selective as possible.
  161. # The directory where trace files are written. Trace debugging is disabled if
  162. # this setting is not configured or if the directory does not exist. If the
  163. # path is relative or it starts with "~/" it is interpreted relative to the
  164. # current user's home directory.
  165. #sieve_trace_dir =
  166. # The verbosity level of the trace messages. Trace debugging is disabled if
  167. # this setting is not configured. Possible values are:
  168. #
  169. # "actions" - Only print executed action commands, like keep,
  170. # fileinto, reject and redirect.
  171. # "commands" - Print any executed command, excluding test commands.
  172. # "tests" - Print all executed commands and performed tests.
  173. # "matching" - Print all executed commands, performed tests and the
  174. # values matched in those tests.
  175. #sieve_trace_level =
  176. # Enables highly verbose debugging messages that are usually only useful for
  177. # developers.
  178. #sieve_trace_debug = no
  179. # Enables showing byte code addresses in the trace output, rather than only
  180. # the source line numbers.
  181. #sieve_trace_addresses = no
  182. # This setting determines whether vacation messages are sent with the SMTP MAIL FROM envelope address set to the recipient address of the Sieve script owner.
  183. sieve_vacation_send_from_recipient = yes
  184. }