Pigeonhole Sieve: Editheader Extension
======================================

The *editheader* extension (RFC5293 [http://tools.ietf.org/html/rfc5293/])
enables Sieve scripts to delete and add message header fields, thereby allowing
interaction with other components that consume or produce header fields.

Configuration
-------------

The *editheader* extension is not available by default and needs to be enabled
explicitly by adding it to the 'sieve_extensions' setting.

The following settings can be configured for the *editheader* extension
(default values are indicated):

sieve_editheader_max_header_size = 2048 :
  The maximum size in bytes of a header field value passed to the 'addheader'
  command. The minimum value for this setting is 1024 bytes. The value is in
  bytes, unless followed by a k(ilo).

sieve_editheader_forbid_add = :
  A space-separated list of headers that cannot be added to the message header.
  Addition of the 'Subject:' header cannot be prohibited, as required by the
  RFC specification. Therefore, adding this header to this setting has no
  effect.

sieve_editheader_forbid_delete = :
  A space-separated list of headers that cannot be deleted from the message
  header. Deleting the 'Received:' and 'Auto-Submitted:' fields is always
  forbidden, while removing the 'Subject:' header cannot be prohibited, as
  required by the RFC specification. Therefore, adding one of these headers to
  this setting has no effect.

sieve_editheader_protected = :
  A space-separated list of headers that cannot be added to or deleted from the
  message header. This setting is provided for backwards compatibility. It is a
  combination of the 'sieve_editheader_forbid_add' and
  'sieve_editheader_forbid_delete' settings. The same limitations apply.

Invalid values for the settings above will make the Sieve interpreter log a
warning and revert to the default values.

Example
-------

---%<-------------------------------------------------------------------------
plugin {
  # Use editheader
  sieve_extensions = +editheader

  # Header fiels must not exceed one kilobyte
  sieve_editheader_max_header_size = 1k

  # Protected special headers
  sieve_editheader_forbid_add = X-Verified
  sieve_editheader_forbid_delete = X-Verified X-Seen
}
---%<-------------------------------------------------------------------------

(This file was created from the wiki on 2019-06-19 12:42)
