Differences

This shows you the differences between two versions of the page.

Link to this comparison view

documents [2008/05/30 14:41]
avel Add RFC 5183: Environment Extension
documents [2020/02/08 22:15] (current)
avel2 Add RFC 8580
Line 8: Line 8:
    This document describes a language for filtering email messages at time of final delivery.  It is designed to be implementable on either a mail client or mail server.  It is meant to be extensible, simple, and independent of access protocol, mail architecture, and operating system.  It is suitable for running on a mail server where users may not be allowed to execute arbitrary programs, such as on black box Internet Message Access Protocol (IMAP) servers, as the base language has no variables, loops, or ability to shell out to external programs.    This document describes a language for filtering email messages at time of final delivery.  It is designed to be implementable on either a mail client or mail server.  It is meant to be extensible, simple, and independent of access protocol, mail architecture, and operating system.  It is suitable for running on a mail server where users may not be allowed to execute arbitrary programs, such as on black box Internet Message Access Protocol (IMAP) servers, as the base language has no variables, loops, or ability to shell out to external programs.
  
-==== Sieve Extensions ====+ 
 +==== ManageSieve Protocol ==== 
 + 
 +  * [[http://www.ietf.org/rfc/rfc5804.txt|RFC 5804: ManageSieve: A Protocol for Remotely Managing Sieve Scripts]] 
 +Message stores are commonly sealed servers so users cannot log into them, yet users must be able to update their scripts on them.  This document describes a protocol "ManageSieve" for securely managing Sieve scripts on a remote server.  This protocol allows a user to have  multiple scripts and also alerts a user to syntactically flawed scripts. 
 + 
 + 
 +==== Alternative Representations ==== 
 + 
 +  * [[http://www.ietf.org/rfc/rfc5784.txt|RFC 5784: Sieves and Display Directives in XML]] 
 +This document describes a way to represent Sieve email filtering language scripts in XML.  Representing Sieves in XML is intended not as an alternate storage format for Sieve but rather as a means to facilitate manipulation of scripts using XML tools. 
 + 
 + 
 +==== Sieve Language Extensions ==== 
 + 
 +  * [[http://www.ietf.org/rfc/rfc5173.txt|RFC 5173: Body Extension]] 
 +This document defines a new command that tests for the occurrence of one or more strings in the body of an email message.
  
   * [[http://www.ietf.org/rfc/rfc5229.txt|RFC 5229: Variables Extension]]   * [[http://www.ietf.org/rfc/rfc5229.txt|RFC 5229: Variables Extension]]
Line 35: Line 51:
   * [[http://www.ietf.org/rfc/rfc3894.txt|RFC 3894: Copying Without Side Effects]]   * [[http://www.ietf.org/rfc/rfc3894.txt|RFC 3894: Copying Without Side Effects]]
 By default, an e-mail message that is processed by a Sieve script is saved in the owner's "inbox". By default, an e-mail message that is processed by a Sieve script is saved in the owner's "inbox".
-Actions such as "fileinto" and "redirect" cancel this default behavior. This document defines a new keyword parameter, ":copy", to be used +Actions such as "fileinto" and "redirect" cancel this default behavior. This document defines a new keyword parameter, ":copy", to be used with the Sieve "fileinto" and "redirect" actions.  Adding ":copy" to an action suppresses cancellation of the default "inbox" save.
-with the Sieve "fileinto" and "redirect" actions.  Adding ":copy" to an action suppresses cancellation of the default "inbox" save.+
  
   * [[http://www.ietf.org/rfc/rfc5183.txt|RFC 5183: Environment Extension]]   * [[http://www.ietf.org/rfc/rfc5183.txt|RFC 5183: Environment Extension]]
 The "environment" extension gives a Sieve script access to information about the Sieve interpreter itself, where it is running, and about any transport connection currently involved in transferring the message. The "environment" extension gives a Sieve script access to information about the Sieve interpreter itself, where it is running, and about any transport connection currently involved in transferring the message.
  
-===== Internet Drafts =====+  * [[http://www.ietf.org/rfc/rfc5260.txt|RFC 5260: Date and Index Extensions]] 
 +The "date" extension gives Sieve the ability to test date and time values in various ways.  The "index" extension provides a means to limit header and address tests to specific instances of header fields when header fields are repeated.
  
-Note that the following links refer to the [[http://ietfreport.isoc.org|IETFreport site]] by ISOCThe linked page will always show the latest version of the I-D in question, and provide diffs to previous versions.+  * [[http://www.ietf.org/rfc/rfc5293.txt|RFC 5293: Editheader Extension]] 
 +Email header fields are a flexible and easy-to-understand means of communication between email processorsThis extension enables Sieve scripts to interact with other components that consume or produce header fields by allowing the script to delete and add header fields.
  
 +  * [[http://www.ietf.org/rfc/rfc5429.txt|RFC 5429: Reject and Extended Reject Extensions]]
 +The "reject" and "ereject" actions shall discard a message by refusing delivery during the SMTP transaction, if possible, or by sending a Message Disposition Notification [MDN] to the envelope sender along with an explanatory message.
  
-==== Other Sieve Extensions Drafts ====+  * [[http://www.ietf.org/rfc/rfc5463.txt|RFC 5463: Ihave Extension]] 
 +The "ihave" extension provides a means to write scripts that can take advantage of optional Sieve features but can still run when those optional features are not available.  The extension also defines a new error control command intended to be used to report situations where no combination of available extensions satisfies the needs of the script.
  
-   * [[http://ietfreport.isoc.org/idref/draft-ietf-sieve-body|Body Extension]] +  * [[http://www.ietf.org/rfc/rfc5490.txt|RFC 5490: Extensions for Checking Mailbox Status and Accessing Mailbox Metadata]] 
-   * [[http://ietfreport.isoc.org/idref/draft-ietf-sieve-editheader|Editheader Extension]] +This is an extension for accessing mailbox and server annotations, checking for mailbox existence, and controlling mailbox creation on "fileinto" action.
-   * [[http://ietfreport.isoc.org/idref/draft-ietf-sieve-refuse-reject|Reject Extension]] +
-     * [[draft-reject|Current list issues]] +
-   * [[http://ietfreport.isoc.org/idref/draft-ietf-sieve-regex|Regular Expression Extension]] +
-   * [[http://ietfreport.isoc.org/idref/draft-ietf-sieve-mime-loop|Sieve Extensions: MIME Tests, MIME Bodypart Iteration, Replacement and Enclosure]] +
-   * [[http://ietfreport.isoc.org/idref/draft-freed-sieve-date-index/|Date and Index Extensions]] (individual submission) +
-   * [[http://ietfreport.isoc.org/idref/draft-daboo-sieve-include/|Include Extension]] (individual submission)+
  
-==== Sieve Management ProtocolManageSieve ====+  * [[http://www.ietf.org/rfc/rfc5703.txt|RFC 5703: MIME Part Tests, Iteration, Extraction, Replacement, and Enclosure]] 
 +Extensions to the Sieve email filtering language to permit analysis and manipulation of the MIME body parts of an email message.
  
-   * [[http://ietfreport.isoc.org/idref/draft-martin-managesieve/|ManageSieve, A Protocol for Remotely Managing Sieve Scripts]]+  * [[http://www.ietf.org/rfc/rfc6609.txt|RFC 6609: Sieve Email Filtering: Include Extension]] 
 +This extension permits users to include one Sieve script inside another.  This can make managing large scripts or multiple sets of scripts much easier, and allows a site and its users to build up libraries of scripts.  Users are able to include their own personal scripts or site-wide scripts.
  
-==== Sieve Notification Extension and Related Notification Mechanisms ====+  * [[http://www.ietf.org/rfc/rfc6558.txt|RFC 6558 Sieve Extension for Converting Messages before Delivery]] 
 +This document describes how the "CONVERT" IMAP extension can be used within the Sieve mail filtering language to transform messages before final delivery.
  
-   * [[http://ietfreport.isoc.org/idref/draft-ietf-sieve-notify|Sieve Extension: Notifications]] +  * [[http://www.ietf.org/rfc/rfc6785.txt|RFC 6785 Support for Internet Message Access Protocol (IMAP) Events in Sieve]] 
-   * [[http://ietfreport.isoc.org/idref/draft-ietf-sieve-notify-mailto|Sieve Notification Mechanism: mailto]] +Sieve defines an email filtering language that can, in principle, plug into any point in the processing of an email message As defined in the base specification, it plugs into mail delivery This document defines how Sieve can plug into points in IMAP where messages are created or changed, adding the option of user-defined or installation-defined filtering (or, with Sieve extensions, features such as notifications).
-   * [[http://ietfreport.isoc.org/idref/draft-ietf-sieve-notify-xmpp|Sieve Notification Mechanism: xmpp ]]+
  
-==== Other Drafts related to Sieve ====+   * [[http://www.ietf.org/rfc/rfc8580.txt|RFC 8580: Sieve Extension: File Carbon Copy (FCC)]] 
 +The Sieve email filtering language provides a number of action commands, some of which can generate additional messages on behalf of the user.  This document defines an extension to such commands to allow a copy of any generated message to be filed into a target mailbox.
  
-   * [[http://ietfreport.isoc.org/idref/draft-ietf-lemonade-imap-sieve|Support for Sieve in Internet Message Access Protocol (IMAP4)]] (Lemonade WG) 
-   * [[http://ietfreport.isoc.org/idref/draft-newman-i18n-comparator/|Internet Application Protocol Collation Registry]] 
  
 +==== Sieve Extension for Notifications and Notification Mechanisms ====
  
-===== ObsoletePrevious Versions of RFCs ====+   * [[http://www.ietf.org/rfc/rfc5435.txt|RFC 5435: Extension for Notifications]] 
 +This document describes an extension to the Sieve mail filtering language that allows users to give specific rules for how and when notifications should be sent. 
 + 
 +   * [[http://www.ietf.org/rfc/rfc5436.txt|RFC 5436: Sieve Notification Mechanism: mailto]] 
 +This document describes a profile of the Sieve extension for notifications, to allow notifications to be sent by electronic mail. 
 + 
 +   * [[http://www.ietf.org/rfc/rfc5437.txt|RFC 5437: Sieve Notification Mechanism: Extensible Messaging and Presence Protocol (XMPP)]] 
 +This document describes a profile of the Sieve extension for notifications, to allow notifications to be sent over the Extensible Messaging and Presence Protocol (XMPP), also known as Jabber. 
 + 
 +   * [[http://www.ietf.org/rfc/rfc6468.txt|RFC 6468: Sieve Notification Mechanism: SIP Message]] 
 +This document describes a profile of the Sieve extension for notifications, to allow notifications to be sent over SIP MESSAGE. 
 + 
 + 
 +===== Internet Drafts ===== 
 + 
 +   * [[http://tools.ietf.org/html/draft-ietf-sieve-regex|Regular Expression Extension]] 
 +The Sieve base specification defines so-called match types for tests: is, contains, and matches.  An "is" test requires an exact match, a "contains" test provides a substring match, and "matches" provides glob-style wildcards.  This document describes an extension to the Sieve language that provides a new match type for regular expression comparisons. 
 + 
 +   * [[http://tools.ietf.org/html/draft-melnikov-sieve-external-lists|Externally Stored Lists]] 
 +Sieve scripting language can be used for implementing of whitelisting, blacklisting and personal distribution lists. Currently this requires that all members of such lists be hardcoded in the script itself.  Whenever a member of such list is added or deleted, the script needs to be updated and possibly uploaded to a mail server. This document defines a Sieve extension for accessing externally stored mailing lists, i.e. list whose members are stored externally to the script, for example in LDAP (RFC 4510), ACAP (RFC 2244) or a relational database. 
 + 
 + 
 +===== Additional Links  ==== 
 + 
 +Obsoleted RFCs:
  
   * [[http://www.ietf.org/rfc/rfc3028.txt|RFC 3028: Sieve: A Mail Filtering Language]], obsoleted by RFC 5228   * [[http://www.ietf.org/rfc/rfc3028.txt|RFC 3028: Sieve: A Mail Filtering Language]], obsoleted by RFC 5228
Line 80: Line 120:
   * [[http://www.ietf.org/rfc/rfc3685.txt|RFC 3685: Spamtest and VirusTest Extensions]], obsoleted by RFC 5235   * [[http://www.ietf.org/rfc/rfc3685.txt|RFC 3685: Spamtest and VirusTest Extensions]], obsoleted by RFC 5235
  
- +Other related pages and documents:
-===== Useful Links =====+
  
    * [[http://tools.ietf.org/wg/sieve/|Sieve WG Status Pages]]    * [[http://tools.ietf.org/wg/sieve/|Sieve WG Status Pages]]
    * [[http://tools.ietf.org/id/draft-*-sieve-|All drafts related to Sieve]]    * [[http://tools.ietf.org/id/draft-*-sieve-|All drafts related to Sieve]]
 +   * [[http://ietfreport.isoc.org/idref/rfc4790/|RFC 4790: Internet Application Protocol Collation Registry]] 
 + and