Previous: File Commands, Up: Misc Group Stuff

#### 2.18.5 Sieve Commands

Sieve is a server-side mail filtering language. In Gnus you can use the `sieve` group parameter (see Group Parameters) to specify sieve rules that should apply to each group. Gnus provides two commands to translate all these group parameters into a proper Sieve script that can be transfered to the server somehow.

The generated Sieve script is placed in `gnus-sieve-file` (by default `~/.sieve`). The Sieve code that Gnus generate is placed between two delimiters, `gnus-sieve-region-start` and `gnus-sieve-region-end`, so you may write additional Sieve code outside these delimiters that will not be removed the next time you regenerate the Sieve script.

The variable `gnus-sieve-crosspost` controls how the Sieve script is generated. If it is non-`nil` (the default) articles is placed in all groups that have matching rules, otherwise the article is only placed in the group with the first matching rule. For example, the group parameter ‘`(sieve address "sender" "owner-ding@hpc.uh.edu")`’ will generate the following piece of Sieve code if `gnus-sieve-crosspost` is `nil`. (When `gnus-sieve-crosspost` is non-`nil`, it looks the same except that the line containing the call to `stop` is removed.)

         if address "sender" "owner-ding@hpc.uh.edu" {
                 fileinto "INBOX.ding";
                 stop;
         }

See Emacs Sieve.

`D g`
  Regenerate a Sieve script from the `sieve` group parameters and put you into the `gnus-sieve-file` without saving it.
`D u`
  Regenerates the Gnus managed part of `gnus-sieve-file` using the `sieve` group parameters, save the file and upload it to the server using the `sieveshell` program.