Previous: Actions, Up: Sieve Language


4.8 GNU Extensions

This section summarizes the gnu extensions to the sieve language

  1. Multiline strings syntax

    GNU libsieve understands the following multiline string syntax:

              text:[-][delimiter]
              ....
              delimiter
         

    The meaning of optional flags is the same as in shell “here document” construct: the dash strips all leading tab characters from the string body, thus allowing it to be indented in a natural fashion; delimiter introduces the new end-of-text delimiter instead of the default dot. If delimiter starts with a backslash, no preprocessing will be performed within a string.

  2. Handling of the require statement.
  3. header test

    The header takes an optional argument :mime, meaning to scan the headers from each part of a multipart message.

  4. size test

    The size test allows to omit the optional argument (:over|:under). In this case exact equality is assumed.

  5. envelope test

    The only value that can be meaningfully used as the first required argument of an envelope test is `from'. This limitation may disappear from the subsequent releases.

  6. Match type optional argument.

    Along with the usual :is, :matches and contains matching type, gnu sieve library understands :regex type. This matching type toggles POSIX Extended Regular Expression matching.