| 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. | ||||