Network Working Group
Internet Engineering Task Force (IETF) A. Melnikov
Internet-Draft
Request for Comments: 9122 Isode Ltd
Intended status:
Category: Standards Track K. Murchison
Expires: 28 September 2023
ISSN: 2070-1721 Fastmail
27 March
June 2023
IANA registry Registry for Sieve actions
draft-ietf-extra-sieve-action-registry-06 Actions
Abstract
The Sieve Email Filtering Language (RFC 5228) is a popular email
filtering language used upon final mail delivery. This document
creates a registry of for Sieve (RFC 5228) actions in order to help developers and Sieve
extension writers track interactions between different extensions.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list It represents the consensus of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid the IETF community. It has
received public review and has been approved for a maximum publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of six months RFC 7841.
Information about the current status of this document, any errata,
and how to provide feedback on it may be updated, replaced, or obsoleted by other documents obtained at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 28 September 2023.
https://www.rfc-editor.org/info/rfc9122.
Copyright Notice
Copyright (c) 2023 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info)
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Revised BSD License text as described in Section 4.e of the
Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 2
2.1. Sieve Actions Registration Template and Procedure . . . . 2
2.2. Initial Sieve Action Registry . . . . . . . . . . . . . . 3
3. Security Considerations . . . . . . . . . . . . . . . . . . . 7
4. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1. Normative References . . . . . . . . . . . . . . . . . . 7
4.2. Informative References . . . . . . . . . . . . . . . . . 7
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
The Sieve Email Filtering Language [RFC5228] is a popular email
filtering language used upon final mail delivery. Popularity The popularity of
Sieve resulted in a myriad of Sieve extensions that can interact with
each other in wonderful and complex ways. There Currently, there is currently no
easy way to find out all actions defined by Sieve extensions
published in RFCs, which
make makes it quite difficult for Sieve extension
writers and Sieve implementation developers to forsee foresee interactions
between Sieve actions.
This document creates a registry of for Sieve [RFC5228] actions in order
to help developers and Sieve extension writers track interactions
between different extensions.
2. IANA Considerations
2.1. Sieve Actions Registration Template and Procedure
IANA is requested to create a new has created the "Sieve Actions" registry for Sieve actions (see Section 2.9 of
[RFC5228] for details on Sieve actions). Registration of both actions
specified in IETF Stream both RFCs and vendor specific
actions vendor-specific documentation is allowed
and encouraged. The registration template
contains:
1. name contains the following:
Name: Name of the action;
2. short description;
3. references: one action
Description: Short description
References: One or more documents describing the action and any
significant updates to its definition (this field is required for
actions described in RFCs and is optional otherwise);
4. name(s) otherwise)
Capabilities: Name of one or more Sieve capabilit(ies) capabilities associated with
the Sieve action being registered;
5. interactions registered
Action Interactions: Interactions with other Sieve actions (as
described in Section 2.10.1 of [RFC5228]), if any;
6. flag any
Cancels Implicit Keep? Flag specifying whether the action cancels
the implicit keep (see Section 2.10.2 of [RFC5228]);
7. whether [RFC5228])
Can Use With IMAP Events? Whether or not this action can be used
with IMAP events in Sieve
([RFC6785]);
8. optional comment.
Registration [RFC6785]
Comments: Optional comment or comments
The registration procedure for this registry is Expert Review. Review [RFC8126]. The
Designated Expert
designated expert only checks that the name of the action being
registered matches documentation, that the description field is accurate, that
the correct documents are referenced referenced, and that the list of relevant
documents is as complete as possible. The Designated
Expert can’t designated expert can't
reject a registration based on because of a personal dislike of for the document
defining an action and should always err on the side of
registering, approving the
registration, even if documentation is not complete.
Addition of
The same registration procedure is used to add a new reference to an existing registration or change to
change the description field goes through the same registration procedure as
a new of an existing registration.
2.2. Initial Sieve Action Registry
The following table is registrations are used to initialize the actions "Sieve
Actions" registry. Note that when the relevant "Action Interactions" cell
entry is empty marked "N/A", it means that there is no restriction on use
of the corresponding action with any other
action, however action; however,
implementors still need to read the one or more corresponding
specification(s)
specifications to see determine if there is are any surprising behaviour. behaviors.
Also note that the "Comments" field of the IANA registration template
is omitted from this table, these registrations, as no registration none of them currently have
any
comment.
+============+=============+==========+==============+============+========+=======+
|Name |Description |References|Capabilities |Action |Cancels |Can use|
| | | | |Interactions|Implicit|with |
| | | | | |Keep? |IMAP |
| | | | | | |Events?|
+============+=============+==========+==============+============+========+=======+
|addheader |Add comments.
Name: addheader
Description: Add a header |[RFC5293] |"editheader" |All |No |Yes |
| |field to the | | |subsequent | | |
| |existing | | |tests and | | |
| |message | | |actions | | |
| |header | | |apply to the| | |
| | | | |altered | | |
| | | | |message | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|addflag |Add IMAP |[RFC5232],|"imap4flags", | |No |Yes |
| |flags to a |[RFC5229] |"variables" | | | |
| |list of IMAP | | | | | |
| |flags field to the existing message header
References: [RFC5293]
Capabilities: "editheader"
Action Interactions: All subsequent tests and actions apply to the
altered message
Cancels Implicit Keep? No
Can Use with IMAP Events? Yes
Name: addflag
Description: Add IMAP flags to a list of IMAP flags that | | | | | |
| |would would be
set | | | | | |
| |on the | | | | | |
| |message on the message if it| | | | | |
| |gets | | | | | |
| |delivered to | | | | | |
| |a it gets delivered to a mailbox | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|convert |Convert
References: [RFC5232] [RFC5229]
Capabilities: "imap4flags", "variables"
Action Interactions: N/A
Cancels Implicit Keep? No
Can Use with IMAP Events? Yes
Name: convert
Description: Convert body |[RFC6558] |"convert" |All |No |Yes |
| |parts parts from | | |subsequent | | |
| |one one MIME type| | |tests and | | |
| |to type to another | | |actions | | |
| | | | |apply to the| | |
| | | | |altered | | |
| | | | |message | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|deleteheader|Remove a |[RFC5293] |"editheader" |All |No |Yes |
| |header
References: [RFC6558]
Capabilities: "convert"
Action Interactions: All subsequent tests and actions apply to the
altered message
Cancels Implicit Keep? No
Can Use with IMAP Events? Yes
Name: deleteheader
Description: Remove a header field | | |subsequent | | |
| |from the | | |tests and | | |
| |existing | | |actions | | |
| |message | | |apply to the| | |
| |header | | |altered | | |
| | | | |message | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|discard |Silently |[RFC5228] | | |Yes |Yes |
| |throw from the existing message header
References: [RFC5293]
Capabilities: "editheader"
Action Interactions: All subsequent tests and actions apply to the
altered message
Cancels Implicit Keep? No
Can Use with IMAP Events? Yes
Name: discard
Description: Silently throw away | | | | | |
| |the the message
References: [RFC5228]
Capabilities: N/A
Action Interactions: N/A
Cancels Implicit Keep? Yes
Can Use with IMAP Events? Yes
Name: enclose
Description: Enclose a message | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|enclose |Enclose a |[RFC5703] |"enclose" |All |No |Yes |
| |message as an| | |subsequent | | |
| |attachment to| | |tests and | | |
| |a an attachment to a new message| | |actions, | | |
| | | | |except | | |
| | | | |"redirect" | | |
| | | | |apply to the| | |
| | | | |altered | | |
| | | | |message | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|ereject |Refuse |[RFC5429] |"ereject" |Incompatible|Yes |No |
| |delivery of | | |with | | |
| |the message | | |"vacation" | | |
| | | | |action. | | |
| | | | |Typically is| | |
| | | | |not | | |
| | | | |permitted | | |
| | | | |with actions| | |
| | | | |that
References: [RFC5703]
Capabilities: "enclose"
Action Interactions: All subsequent tests and actions except
"redirect" apply to the altered message
Cancels Implicit Keep? No
Can Use with IMAP Events? Yes
Name: ereject
Description: Refuse delivery of the message
References: [RFC5429]
Capabilities: "ereject"
Action Interactions: This action is incompatible with the "vacation"
action. Typically is not permitted with actions that cause | | |
| | | | |mail | | |
| | | | |delivery, | | |
| | | | |such mail
delivery, such as | | |
| | | | |"keep", | | |
| | | | |"fileinto", | | |
| | | | |and | | |
| | | | |"redirect". | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|extracttext |Store "keep", "fileinto", and "redirect"
Cancels Implicit Keep? Yes
Can Use with IMAP Events? No
Name: extracttext
Description: Store text of|[RFC5703],|"extracttext",| |No |Yes |
| |a of a MIME part |[RFC5229] |"variables" | | | |
| |into a | | | | | |
| |variable | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|fileinto |Deliver the |[RFC5228],|"fileinto", |Use of :copy|Yes |Yes |
| |message into |[RFC3894],|"copy", |suppresses | | |
| |the specified|[RFC5232],|"imap4flags", |cancelation | | |
| |mailbox |[RFC5490],|"mailbox", |of a variable
References: [RFC5703] [RFC5229]
Capabilities: "extracttext", "variables"
Action Interactions: N/A
Cancels Implicit Keep? No
Can Use with IMAP Events? Yes
Name: fileinto
Description: Deliver the message into the specified mailbox
References: [RFC5228] [RFC3894] [RFC5232] [RFC5490] [RFC9042]
[RFC8579]
Capabilities: "fileinto", "copy", "imap4flags", "mailbox",
"mailboxid", "special-use"
Action Interactions: Use of :copy suppresses cancellation of
implicit | | |
| | |[RFC9042],|"mailboxid", |keep | | |
| | |[RFC8579] |"special-use" | | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|keep |File keep
Cancels Implicit Keep? Yes
Can Use with IMAP Events? Yes
Name: keep
Description: File the message |[RFC5228],|"imap4flags" | |Yes |Yes |
| |into the |[RFC5232] | | | | |
| |user's into the user's main | | | | | |
| |mailbox | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|notify |Send a |[RFC5435],|"enotify", | |No |Yes |
| |notification |[RFC8580] |"fcc" | | | |
| |to mailbox
References: [RFC5228] [RFC5232]
Capabilities: "imap4flags"
Action Interactions: N/A
Cancels Implicit Keep? Yes
Can Use with IMAP Events? Yes
Name: notify
Description: Send a notification to a user | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|redirect |Send |[RFC5228],|"copy", |Use of :copy|Yes |Yes |
| |(forward) the|[RFC3894],|"redirect- |suppresses | | |
| |message to |[RFC6009],|dsn", |cancelation | | |
| |another
References: [RFC5435] [RFC8580]
Capabilities: "enotify", "fcc"
Action Interactions: N/A
Cancels Implicit Keep? No
Can Use with IMAP Events? Yes
Name: redirect
Description: Send (forward) the message to another user |[RFC6134] |"redirect- |of
References: [RFC5228] [RFC3894] [RFC6009] [RFC6134]
Capabilities: "copy", "redirect-dsn", "redirect-deliverby",
"extlists"
Action Interactions: Use of :copy suppresses cancellation of
implicit | | |
| | | |deliverby", |keep | | |
| | | |"extlists" | | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|reject |Refuse |[RFC5429] |"reject" |Incompatible|Yes |No |
| |delivery of | | |with | | |
| |the keep
Cancels Implicit Keep? Yes
Can Use with IMAP Events? Yes
Name: reject
Description: Refuse delivery of the message | | |"vacation" | | |
| | | | |action. | | |
| | | | |Typically is| | |
| | | | |not | | |
| | | | |permitted | | |
| | | | |with actions| | |
| | | | |that
References: [RFC5429]
Capabilities: "reject"
Action Interactions: This action is incompatible with the "vacation"
action. Typically is not permitted with actions that cause | | |
| | | | |mail | | |
| | | | |delivery, | | |
| | | | |such mail
delivery, such as | | |
| | | | |"keep", | | |
| | | | |"fileinto", | | |
| | | | |and | | |
| | | | |"redirect". | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|removeflag |Remove IMAP |[RFC5232],|"imap4flags", | |No |Yes |
| |flags "keep", "fileinto", and "redirect"
Cancels Implicit Keep? Yes
Can Use with IMAP Events? No
Name: removeflag
Description: Remove IMAP flags from a |[RFC5229] |"variables" | | | |
| |list of IMAP | | | | | |
| |flags list of IMAP flags that | | | | | |
| |would would
be set | | | | | |
| |on the | | | | | |
| |message on the message if it| | | | | |
| |gets | | | | | |
| |delivered to | | | | | |
| |a it gets delivered to a mailbox | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|replace |Replace a |[RFC5703] |"replace" |All |No |Yes |
| |MIME
References: [RFC5232] [RFC5229]
Capabilities: "imap4flags", "variables"
Action Interactions: N/A
Cancels Implicit Keep? No
Can Use with IMAP Events? Yes
Name: replace
Description: Replace a MIME part | | |subsequent | | |
| | | | |tests and | | |
| | | | |actions, | | |
| | | | |except | | |
| | | | |"redirect" | | |
| | | | |apply to the| | |
| | | | |altered | | |
| | | | |message | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|set |Store a value|[RFC5229] |"variables" | |No |Yes |
| |in a variable| | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|setflag |Set IMAP |[RFC5232],|"imap4flags", | |No |Yes |
| |system
References: [RFC5703]
Capabilities: "replace"
Action Interactions: All subsequent tests and actions except
"redirect" apply to the altered message
Cancels Implicit Keep? No
Can Use with IMAP Events? Yes
Name: set
Description: Store a value in a variable
References: [RFC5229]
Capabilities: "variables"
Action Interactions: N/A
Cancels Implicit Keep? No
Can Use with IMAP Events? Yes
Name: setflag
Description: Set IMAP system flags |[RFC5229] |"variables" | | | |
| |or or keywords | | | | | |
| |that that would be| | | | | |
| |set be set on
the | | | | | |
| |message message if it| | | | | |
| |gets | | | | | |
| |delivered to | | | | | |
| |a it gets delivered to a mailbox | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+
|vacation |Vacation |[RFC5230],|"vacation", |Incompatible|No |No |
| |autoresponder|[RFC6131],|"vacation- |with | | |
| | |[RFC8580] |seconds", |"reject" and| | |
| | | |"fcc" |"ereject" | | |
| | | | |actions. | | |
+------------+-------------+----------+--------------+------------+--------+-------+
Table 1
References: [RFC5232] [RFC5229]
Capabilities: "imap4flags", "variables"
Action Interactions: N/A
Cancels Implicit Keep? No
Can Use with IMAP Events? Yes
Name: vacation
Description: Implement a vacation autoresponder
References: [RFC5230] [RFC6131] [RFC8580]
Capabilities: "vacation", "vacation-seconds", "fcc"
Action Interactions: This action is incompatible with "reject" and
"ereject" actions
Cancels Implicit Keep? No
Can Use with IMAP Events? No
3. Security Considerations
The sole purpose of this document is to create a new IANA registry,
so the "Sieve Actions"
registry; therefore, it doesn't create new security considerations
for Sieve implementations.
The new registry should help Sieve extension writers and Sieve
implementors track interactions between different Sieve actions, so actions;
therefore, it might improve the quality of specifications and
implementations, including security aspects.
For the Security Considerations of security considerations related to particular actions, see the RFC(s)
one or more RFCs referenced for that the action in the Initial Sieve Action Registry question in
Section 2.2. the "Sieve
Actions" registry (Section 2.2).
4. References
4.1. Normative References
[RFC5228] Guenther, P., Ed. and T. Showalter, Ed., "Sieve: An Email
Filtering Language", RFC 5228, DOI 10.17487/RFC5228,
January 2008, <https://www.rfc-editor.org/info/rfc5228>.
[RFC6785] Leiba, B., "Support for Internet Message Access Protocol
(IMAP) Events in Sieve", RFC 6785, DOI 10.17487/RFC6785,
November 2012, <https://www.rfc-editor.org/info/rfc6785>.
4.2. Informative References
[RFC3894] Degener, J., "Sieve Extension: Copying Without Side
Effects", RFC 3894, DOI 10.17487/RFC3894, October 2004,
<https://www.rfc-editor.org/info/rfc3894>.
[RFC5229] Homme, K., "Sieve Email Filtering: Variables Extension",
RFC 5229, DOI 10.17487/RFC5229, January 2008,
<https://www.rfc-editor.org/info/rfc5229>.
[RFC5230] Showalter, T. and N. Freed, Ed., "Sieve Email Filtering:
Vacation Extension", RFC 5230, DOI 10.17487/RFC5230,
January 2008, <https://www.rfc-editor.org/info/rfc5230>.
[RFC5232] Melnikov, A., "Sieve Email Filtering: Imap4flags
Extension", RFC 5232, DOI 10.17487/RFC5232, January 2008,
<https://www.rfc-editor.org/info/rfc5232>.
[RFC5293] Degener, J. and P. Guenther, "Sieve Email Filtering:
Editheader Extension", RFC 5293, DOI 10.17487/RFC5293,
August 2008, <https://www.rfc-editor.org/info/rfc5293>.
[RFC5429] Stone, A., Ed., "Sieve Email Filtering: Reject and
Extended Reject Extensions", RFC 5429,
DOI 10.17487/RFC5429, March 2009,
<https://www.rfc-editor.org/info/rfc5429>.
[RFC5435] Melnikov, A., Ed., Leiba, B., Ed., Segmuller, W., and T.
Martin, "Sieve Email Filtering: Extension for
Notifications", RFC 5435, DOI 10.17487/RFC5435, January
2009, <https://www.rfc-editor.org/info/rfc5435>.
[RFC5490] Melnikov, A., "The Sieve Mail-Filtering Language --
Extensions for Checking Mailbox Status and Accessing
Mailbox Metadata", RFC 5490, DOI 10.17487/RFC5490, March
2009, <https://www.rfc-editor.org/info/rfc5490>.
[RFC5703] Hansen, T. and C. Daboo, "Sieve Email Filtering: MIME Part
Tests, Iteration, Extraction, Replacement, and Enclosure",
RFC 5703, DOI 10.17487/RFC5703, October 2009,
<https://www.rfc-editor.org/info/rfc5703>.
[RFC6009] Freed, N., "Sieve Email Filtering: Delivery Status
Notifications and Deliver-By Extensions", RFC 6009,
DOI 10.17487/RFC6009, October 2010,
<https://www.rfc-editor.org/info/rfc6009>.
[RFC6131] George, R. and B. Leiba, "Sieve Vacation Extension:
"Seconds" Parameter", RFC 6131, DOI 10.17487/RFC6131, July
2011, <https://www.rfc-editor.org/info/rfc6131>.
[RFC6134] Melnikov, A. and B. Leiba, "Sieve Extension: Externally
Stored Lists", RFC 6134, DOI 10.17487/RFC6134, July 2011,
<https://www.rfc-editor.org/info/rfc6134>.
[RFC6558] Melnikov, A., Leiba, B., and K. Li, "Sieve Extension for
Converting Messages before Delivery", RFC 6558,
DOI 10.17487/RFC6558, March 2012,
<https://www.rfc-editor.org/info/rfc6558>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>.
[RFC8579] Bosch, S., "Sieve Email Filtering: Delivering to Special-
Use Mailboxes", RFC 8579, DOI 10.17487/RFC8579, May 2019,
<https://www.rfc-editor.org/info/rfc8579>.
[RFC8580] Murchison, K. and B. Gondwana, "Sieve Extension: File
Carbon Copy (FCC)", RFC 8580, DOI 10.17487/RFC8580, May
2019, <https://www.rfc-editor.org/info/rfc8580>.
[RFC9042] Gondwana, B., Ed., "Sieve Email Filtering: Delivery by
MAILBOXID", RFC 9042, DOI 10.17487/RFC9042, June 2021,
<https://www.rfc-editor.org/info/rfc9042>.
Appendix A. Acknowledgements
TBD.
Thank you to Barry Leiba, Donald Eastlake, Yoshiro Yoneya, and Murray
Kucherawy for reviews and feedback on this document.
Authors' Addresses
Alexey Melnikov
Isode Ltd
14 Castle Mews
Hampton
TW12 2NP
United Kingdom
Email: Alexey.Melnikov@isode.com
Kenneth Murchison
Fastmail US LLC
Suite 1201
1429 Walnut Street - Suite 1201
Philadelphia, PA 19102
United States of America
Email: murch@fastmailteam.com