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.