If you are not familiar with Sieve, this chapter contains a few simple code snippets that you can cut’n’paste and modify at will, until you feel more comfortable with the Sieve language to write the rules from scratch.
The following complete Sieve script places all messages with a matching
‘Sender:’ header into the given mailbox. Many mailing lists uses
this format. The first line makes sure your Sieve server understands
the fileinto
command.
require "fileinto"; if address "sender" "emacs-devel@gnu.org" { fileinto "INBOX.emacs-devel"; }
A few mailing lists do not use the ‘Sender:’ header, but has a
unique identifier in some other header. The following is not a
complete script, it assumes that fileinto
has already been
required.
if header :contains "Delivered-To" "auc-tex@sunsite.dk" { fileinto "INBOX.auc-tex"; }
At last, we have the hopeless mailing lists that does not have any
unique identifier and you are forced to match on the ‘To:’ and
‘Cc’ headers. As before, this snippet assumes that fileinto
has been required.
if address ["to", "cc"] "kerberos@mit.edu" { fileinto "INBOX.kerberos"; }