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.