5230 – Vacation; specifies an action to send a response informing the sender that the recipient may be away. RFC 5231 – Relational tests; defines numeric tests, so that a script may test a field for a numeric value, and may test against the number of occurrences of a field. RFC 5232 – IMAP4flags; allows a script to test and set a message's IMAP flags. RFC 5233 – Subaddress; allows a script to test subaddresses of the form "user+detail@domain.example". RFC 5235 – Spamtest and Virustest; allows a script to interface with implementation-dependent message filtering. RFC 5260 – Date and Index Extensions. RFC 5293 – Editheader; allows a script to add and delete message header fields. RFC 5429 – Reject; allows messages to be rejected at either the LMTP/SMTP level or with an MDN or DSN. RFC 5435 – Notifications; allows a script to trigger external notifications of email. RFC 5436 – E-mail notifications; specifies notifications via e-mail. RFC 5437 – XMPP notifications; specifies notifications via XMPP. RFC 5490 – Checking; Mailbox status and accessing mailbox metadata. RFC 5703 – MIME Part Tests, Iteration, Extraction, Replacement, and Enclosure RFC 5804 - A Protocol for Remotely Managing Sieve Scripts A number of other extensions are still being developed by the Sieve working group. Example This is an example sieve script: # Sieve filter # Declare the extensions used by this script. # require ["fileinto", "reject"]; # Messages bigger than 100K will be rejected with an error message # if size :over 100K { reject "I'm sorry, I do not accept mail over 100kb in size. Please upload larger files to a server and send me a link. Thanks."; } # Mails from a mailing list will be put into the folder "mailinglist" # elsif address :is ["From", "To"] "mailinglist@blafasel.invalid" { fileinto "INBOX.mailinglist"; } # Spam Rule: Message does not contain my address in To, CC or BCC # header, or subject is something with "money" or "Viagra". # elsif anyof (not address :all :contains ["To", "Cc", "Bcc"] "me@blafasel.invalid", header :matches "Subject" ["*money*","*Viagra*"]) { fileinto "INBOX.spam"; } # Keep the rest. # This is not necessary because there is an "implicit keep" rule # else { keep; } See also Email filtering procmail maildrop fdm References External links Sieve.Info, a Wiki Site about Sieve The old Sieve Home Page on web.archive.org Sieve IETF Working Group Charter Sieve tutorial with many examples Email Spam