rfc9122v1.txt | rfc9122.txt | |||
---|---|---|---|---|
skipping to change at line 78 ¶ | skipping to change at line 78 ¶ | |||
between Sieve actions. | between Sieve actions. | |||
This document creates a registry for Sieve [RFC5228] actions in order | This document creates a registry for Sieve [RFC5228] actions in order | |||
to help developers and Sieve extension writers track interactions | to help developers and Sieve extension writers track interactions | |||
between different extensions. | between different extensions. | |||
2. IANA Considerations | 2. IANA Considerations | |||
2.1. Sieve Actions Registration Template and Procedure | 2.1. Sieve Actions Registration Template and Procedure | |||
IANA has created a the "Sieve Actions" registry (see Section 2.9 of | IANA has created the "Sieve Actions" registry (see Section 2.9 of | |||
[RFC5228] for details on Sieve actions). Registration of actions | [RFC5228] for details on Sieve actions). Registration of actions | |||
specified in both RFCs and vendor-specific actions is allowed and | specified in both RFCs and vendor-specific documentation is allowed | |||
encouraged. The registration template contains the following: | and encouraged. The registration template contains the following: | |||
1. Name of the action. | ||||
2. Short description. | ||||
3. 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 of one or more Sieve capabilities associated with the Sieve | ||||
action being registered. | ||||
5. Interactions with other Sieve actions (as described in | ||||
Section 2.10.1 of [RFC5228]), if any. | ||||
6. Flag specifying whether the action cancels the implicit keep (see | ||||
Section 2.10.2 of [RFC5228]). | ||||
7. Whether or not this action can be used with IMAP events in Sieve | ||||
[RFC6785]. | ||||
8. Optional comment. | Name: Name of the 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) | ||||
Capabilities: Name of one or more Sieve capabilities associated with | ||||
the Sieve action being registered | ||||
Action Interactions: Interactions with other Sieve actions (as | ||||
described in Section 2.10.1 of [RFC5228]), if any | ||||
Cancels Implicit Keep? Flag specifying whether the action cancels | ||||
the implicit keep (see Section 2.10.2 of [RFC5228]) | ||||
Can Use With IMAP Events? Whether or not this action can be used | ||||
with IMAP events in Sieve [RFC6785] | ||||
Comments: Optional comment or comments | ||||
The registration procedure is Expert Review [RFC8126]. The | The registration procedure is Expert Review [RFC8126]. The | |||
designated expert only checks that the name of the action being | designated expert only checks that the name of the action being | |||
registered matches documentation, the description field is accurate, | registered matches documentation, the description field is accurate, | |||
the correct documents are referenced, and the list of relevant | the correct documents are referenced, and the list of relevant | |||
documents is as complete as possible. The designated expert can't | documents is as complete as possible. The designated expert can't | |||
reject a registration because of a personal dislike for the document | reject a registration because of a personal dislike for the document | |||
defining an action and should always err on the side of registering, | defining an action and should always err on the side of approving the | |||
even if documentation is not complete. | registration, even if documentation is not complete. | |||
The addition of a new reference to an existing registration or change | The same registration procedure is used to add a new reference or to | |||
to the description field goes through the same registration procedure | change the description field of an existing registration. | |||
as a new registration. | ||||
2.2. Initial Sieve Action Registry | 2.2. Initial Sieve Action Registry | |||
The following table is used to initialize the "Sieve Actions" | The following registrations are used to initialize the "Sieve | |||
registry. Note that when the "Action Interactions" cell is empty, it | Actions" registry. Note that when the relevant "Action Interactions" | |||
means that there is no restriction on use of the corresponding action | entry is marked "N/A", it means that there is no restriction on use | |||
with any other action; however, implementors still need to read the | of the corresponding action with any other action; however, | |||
one or more corresponding specifications to determine if there are | implementors still need to read the one or more corresponding | |||
any surprising behaviours. Also note that the "Comments" field of | specifications to determine if there are any surprising behaviours. | |||
the registration template is omitted from this table, as none of the | Also note that the "Comments" field of the IANA registration template | |||
registrations currently have any comments. | is omitted from these registrations, as none of them currently have | |||
any comments. | ||||
+============+=============+==========+==============+============+========+=======+ | Name: addheader | |||
|Name |Description |References|Capabilities |Action |Cancels |Can Use| | Description: Add a header field to the existing message header | |||
| | | | |Interactions|Implicit|With | | References: [RFC5293] | |||
| | | | | |Keep? |IMAP | | Capabilities: "editheader" | |||
| | | | | | |Events?| | Action Interactions: All subsequent tests and actions apply to the | |||
+============+=============+==========+==============+============+========+=======+ | altered message | |||
|addheader |Add a header |[RFC5293] |"editheader" |All |No |Yes | | Cancels Implicit Keep? No | |||
| |field to the | | |subsequent | | | | Can Use with IMAP Events? Yes | |||
| |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 that | | | | | | | ||||
| |would be set | | | | | | | ||||
| |on the | | | | | | | ||||
| |message if it| | | | | | | ||||
| |gets | | | | | | | ||||
| |delivered to | | | | | | | ||||
| |a mailbox | | | | | | | ||||
+------------+-------------+----------+--------------+------------+--------+-------+ | ||||
|convert |Convert body |[RFC6558] |"convert" |All |No |Yes | | ||||
| |parts from | | |subsequent | | | | ||||
| |one MIME type| | |tests and | | | | ||||
| |to another | | |actions | | | | ||||
| | | | |apply to the| | | | ||||
| | | | |altered | | | | ||||
| | | | |message | | | | ||||
+------------+-------------+----------+--------------+------------+--------+-------+ | ||||
|deleteheader|Remove a |[RFC5293] |"editheader" |All |No |Yes | | ||||
| |header field | | |subsequent | | | | ||||
| |from the | | |tests and | | | | ||||
| |existing | | |actions | | | | ||||
| |message | | |apply to the| | | | ||||
| |header | | |altered | | | | ||||
| | | | |message | | | | ||||
+------------+-------------+----------+--------------+------------+--------+-------+ | ||||
|discard |Silently |[RFC5228] | | |Yes |Yes | | ||||
| |throw away | | | | | | | ||||
| |the message | | | | | | | ||||
+------------+-------------+----------+--------------+------------+--------+-------+ | ||||
|enclose |Enclose a |[RFC5703] |"enclose" |All |No |Yes | | ||||
| |message as an| | |subsequent | | | | ||||
| |attachment to| | |tests and | | | | ||||
| |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 cause | | | | ||||
| | | | |mail | | | | ||||
| | | | |delivery, | | | | ||||
| | | | |such as | | | | ||||
| | | | |"keep", | | | | ||||
| | | | |"fileinto", | | | | ||||
| | | | |and | | | | ||||
| | | | |"redirect". | | | | ||||
+------------+-------------+----------+--------------+------------+--------+-------+ | ||||
|extracttext |Store text of|[RFC5703] |"extracttext",| |No |Yes | | ||||
| |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 implicit | | | | ||||
| | |[RFC9042] |"mailboxid", |keep | | | | ||||
| | |[RFC8579] |"special-use" | | | | | ||||
+------------+-------------+----------+--------------+------------+--------+-------+ | ||||
|keep |File message |[RFC5228] |"imap4flags" | |Yes |Yes | | ||||
| |into the |[RFC5232] | | | | | | ||||
| |user's main | | | | | | | ||||
| |mailbox | | | | | | | ||||
+------------+-------------+----------+--------------+------------+--------+-------+ | ||||
|notify |Send a |[RFC5435] |"enotify", | |No |Yes | | ||||
| |notification |[RFC8580] |"fcc" | | | | | ||||
| |to a user | | | | | | | ||||
+------------+-------------+----------+--------------+------------+--------+-------+ | ||||
|redirect |Send |[RFC5228] |"copy", |Use of :copy|Yes |Yes | | ||||
| |(forward) the|[RFC3894] |"redirect- |suppresses | | | | ||||
| |message to |[RFC6009] |dsn", |cancelation | | | | ||||
| |another user |[RFC6134] |"redirect- |of implicit | | | | ||||
| | | |deliverby", |keep | | | | ||||
| | | |"extlists" | | | | | ||||
+------------+-------------+----------+--------------+------------+--------+-------+ | ||||
|reject |Refuse |[RFC5429] |"reject" |Incompatible|Yes |No | | ||||
| |delivery of | | |with | | | | ||||
| |the message | | |"vacation" | | | | ||||
| | | | |action. | | | | ||||
| | | | |Typically is| | | | ||||
| | | | |not | | | | ||||
| | | | |permitted | | | | ||||
| | | | |with actions| | | | ||||
| | | | |that cause | | | | ||||
| | | | |mail | | | | ||||
| | | | |delivery, | | | | ||||
| | | | |such as | | | | ||||
| | | | |"keep", | | | | ||||
| | | | |"fileinto", | | | | ||||
| | | | |and | | | | ||||
| | | | |"redirect". | | | | ||||
+------------+-------------+----------+--------------+------------+--------+-------+ | ||||
|removeflag |Remove IMAP |[RFC5232] |"imap4flags", | |No |Yes | | ||||
| |flags from a |[RFC5229] |"variables" | | | | | ||||
| |list of IMAP | | | | | | | ||||
| |flags that | | | | | | | ||||
| |would be set | | | | | | | ||||
| |on the | | | | | | | ||||
| |message if it| | | | | | | ||||
| |gets | | | | | | | ||||
| |delivered to | | | | | | | ||||
| |a mailbox | | | | | | | ||||
+------------+-------------+----------+--------------+------------+--------+-------+ | ||||
|replace |Replace a |[RFC5703] |"replace" |All |No |Yes | | ||||
| |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 flags |[RFC5229] |"variables" | | | | | ||||
| |or keywords | | | | | | | ||||
| |that would be| | | | | | | ||||
| |set on the | | | | | | | ||||
| |message if 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 | Name: addflag | |||
Description: Add IMAP flags to a list of IMAP flags that would be | ||||
set on the message if it gets delivered to a mailbox | ||||
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 parts from one MIME type to another | ||||
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 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 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 as an attachment to a new message | ||||
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: Incompatible with "vacation" action. Typically | ||||
is not permitted with actions that cause mail delivery, such as | ||||
"keep", "fileinto", and "redirect" | ||||
Cancels Implicit Keep? Yes | ||||
Can Use with IMAP Events? No | ||||
Name: extracttext | ||||
Description: Store text of a MIME part into 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 cancelation of implicit | ||||
keep | ||||
Cancels Implicit Keep? Yes | ||||
Can Use with IMAP Events? Yes | ||||
Name: keep | ||||
Description: File message into the user's main 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 | ||||
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 | ||||
References: [RFC5228] [RFC3894] [RFC6009] [RFC6134] | ||||
Capabilities: "copy", "redirect-dsn", "redirect-deliverby", | ||||
"extlists" | ||||
Action Interactions: Use of :copy suppresses cancelation of implicit | ||||
keep | ||||
Cancels Implicit Keep? Yes | ||||
Can Use with IMAP Events? Yes | ||||
Name: reject | ||||
Description: Refuse delivery of the message | ||||
References: [RFC5429] | ||||
Capabilities: "reject" | ||||
Action Interactions: Incompatible with "vacation" action. Typically | ||||
is not permitted with actions that cause mail delivery, such as | ||||
"keep", "fileinto", and "redirect" | ||||
Cancels Implicit Keep? Yes | ||||
Can Use with IMAP Events? No | ||||
Name: removeflag | ||||
Description: Remove IMAP flags from a list of IMAP flags that would | ||||
be set on the message if it gets delivered to a mailbox | ||||
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 | ||||
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 or keywords that would be set on | ||||
the message if it gets delivered to a mailbox | ||||
References: [RFC5232] [RFC5229] | ||||
Capabilities: "imap4flags", "variables" | ||||
Action Interactions: N/A | ||||
Cancels Implicit Keep? No | ||||
Can Use with IMAP Events? Yes | ||||
Name: vacation | ||||
Description: Vacation autoresponder | ||||
References: [RFC5230] [RFC6131] [RFC8580] | ||||
Capabilities: "vacation", "vacation-seconds", "fcc" | ||||
Action Interactions: Incompatible with "reject" and "ereject" | ||||
actions | ||||
Cancels Implicit Keep? No | ||||
Can Use with IMAP Events? No | ||||
3. Security Considerations | 3. Security Considerations | |||
The sole purpose of this document is to create the "Sieve Actions" | The sole purpose of this document is to create the "Sieve Actions" | |||
registry; therefore, it doesn't create new security considerations | registry; therefore, it doesn't create new security considerations | |||
for Sieve implementations. | for Sieve implementations. | |||
The new registry should help Sieve extension writers and Sieve | The new registry should help Sieve extension writers and Sieve | |||
implementors track interactions between different Sieve actions, so | implementors track interactions between different Sieve actions; | |||
it might improve the quality of specifications and implementations, | therefore, it might improve the quality of specifications and | |||
including security aspects. | implementations, including security aspects. | |||
For the Security Considerations of particular actions, see the one or | For security considerations related to particular actions, see the | |||
more RFCs referenced for that action in the "Sieve Actions" registry | one or more RFCs referenced for the action in question in the "Sieve | |||
Section 2.2. | Actions" registry (Section 2.2). | |||
4. References | 4. References | |||
4.1. Normative References | 4.1. Normative References | |||
[RFC5228] Guenther, P., Ed. and T. Showalter, Ed., "Sieve: An Email | [RFC5228] Guenther, P., Ed. and T. Showalter, Ed., "Sieve: An Email | |||
Filtering Language", RFC 5228, DOI 10.17487/RFC5228, | Filtering Language", RFC 5228, DOI 10.17487/RFC5228, | |||
January 2008, <https://www.rfc-editor.org/info/rfc5228>. | January 2008, <https://www.rfc-editor.org/info/rfc5228>. | |||
[RFC6785] Leiba, B., "Support for Internet Message Access Protocol | [RFC6785] Leiba, B., "Support for Internet Message Access Protocol | |||
skipping to change at line 395 ¶ | skipping to change at line 390 ¶ | |||
[RFC8580] Murchison, K. and B. Gondwana, "Sieve Extension: File | [RFC8580] Murchison, K. and B. Gondwana, "Sieve Extension: File | |||
Carbon Copy (FCC)", RFC 8580, DOI 10.17487/RFC8580, May | Carbon Copy (FCC)", RFC 8580, DOI 10.17487/RFC8580, May | |||
2019, <https://www.rfc-editor.org/info/rfc8580>. | 2019, <https://www.rfc-editor.org/info/rfc8580>. | |||
[RFC9042] Gondwana, B., Ed., "Sieve Email Filtering: Delivery by | [RFC9042] Gondwana, B., Ed., "Sieve Email Filtering: Delivery by | |||
MAILBOXID", RFC 9042, DOI 10.17487/RFC9042, June 2021, | MAILBOXID", RFC 9042, DOI 10.17487/RFC9042, June 2021, | |||
<https://www.rfc-editor.org/info/rfc9042>. | <https://www.rfc-editor.org/info/rfc9042>. | |||
Appendix A. Acknowledgements | 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 | Authors' Addresses | |||
Alexey Melnikov | Alexey Melnikov | |||
Isode Ltd | Isode Ltd | |||
14 Castle Mews | 14 Castle Mews | |||
Hampton | Hampton | |||
TW12 2NP | TW12 2NP | |||
United Kingdom | United Kingdom | |||
Email: Alexey.Melnikov@isode.com | Email: Alexey.Melnikov@isode.com | |||
End of changes. 11 change blocks. | ||||
202 lines changed or deleted | 198 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |