3.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 transferred 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 Top in 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.