draft-ietf-extra-sieve-fcc-04.txt | draft-ietf-extra-sieve-fcc-05.txt | |||
---|---|---|---|---|
EXTRA K. Murchison | EXTRA K. Murchison | |||
Internet-Draft B. Gondwana | Internet-Draft B. Gondwana | |||
Updates: 5230, 5435 (if approved) FastMail | Updates: 5230, 5435 (if approved) FastMail | |||
Intended status: Standards Track August 12, 2018 | Intended status: Standards Track September 10, 2018 | |||
Expires: February 13, 2019 | Expires: March 14, 2019 | |||
Sieve Extension: File Carbon Copy (Fcc) | Sieve Extension: File Carbon Copy (Fcc) | |||
draft-ietf-extra-sieve-fcc-04 | draft-ietf-extra-sieve-fcc-05 | |||
Abstract | Abstract | |||
The Sieve Email Filtering Language provides a number of action | The Sieve Email Filtering Language provides a number of action | |||
commands, some of which can generate additional messages on behalf of | commands, some of which can generate additional messages on behalf of | |||
the user. This document defines an extension to such commands to | the user. This document defines an extension to such commands to | |||
allow a copy of any generated message to be filed into a target | allow a copy of any generated message to be filed into a target | |||
mailbox. | mailbox. | |||
Status of This Memo | Status of This Memo | |||
skipping to change at page 1, line 35 ¶ | skipping to change at page 1, line 35 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on February 13, 2019. | This Internet-Draft will expire on March 14, 2019. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 18 ¶ | skipping to change at page 2, line 18 ¶ | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Conventions Used in This Document . . . . . . . . . . . . . . 3 | 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 | |||
3. Tagged Argument ":fcc" . . . . . . . . . . . . . . . . . . . 3 | 3. Tagged Argument ":fcc" . . . . . . . . . . . . . . . . . . . 3 | |||
3.1. Format of Filed Messages . . . . . . . . . . . . . . . . 3 | 3.1. Format of Filed Messages . . . . . . . . . . . . . . . . 3 | |||
3.2. Interaction with the Vacation Action . . . . . . . . . . 4 | 3.2. Interaction with the Vacation Action . . . . . . . . . . 4 | |||
3.3. Interaction with the Notify Action . . . . . . . . . . . 5 | 3.3. Interaction with the Notify Action . . . . . . . . . . . 5 | |||
3.3.1. Notification-Capability "fcc" . . . . . . . . . . . . 5 | 3.3.1. Notification-Capability "fcc" . . . . . . . . . . . . 5 | |||
3.4. Compatibility with Other Actions . . . . . . . . . . . . 6 | 3.4. Compatibility with Other Actions . . . . . . . . . . . . 6 | |||
3.5. Interaction with Fileinto Extensions . . . . . . . . . . 6 | 3.5. Interaction with Fileinto Extensions . . . . . . . . . . 6 | |||
3.5.1. Imap4flags Extension . . . . . . . . . . . . . . . . 6 | 3.5.1. Imap4flags Extension . . . . . . . . . . . . . . . . 7 | |||
3.5.2. Mailbox Extension . . . . . . . . . . . . . . . . . . 7 | 3.5.2. Mailbox Extension . . . . . . . . . . . . . . . . . . 7 | |||
3.5.3. Special-Use Extension . . . . . . . . . . . . . . . . 7 | 3.5.3. Special-Use Extension . . . . . . . . . . . . . . . . 7 | |||
3.5.4. Extended Example . . . . . . . . . . . . . . . . . . 7 | 3.5.4. Extended Example . . . . . . . . . . . . . . . . . . 8 | |||
4. Implementation Status . . . . . . . . . . . . . . . . . . . . 8 | 4. Implementation Status . . . . . . . . . . . . . . . . . . . . 8 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | |||
6.1. Registration of Sieve Extension . . . . . . . . . . . . . 8 | 6.1. Registration of Sieve Extension . . . . . . . . . . . . . 9 | |||
6.2. Registration of Notification-Capability | 6.2. Registration of Notification-Capability | |||
Parameter . . . . . . . . . . . . . . . . . . . . . . . . 9 | Parameter . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 | 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 9 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 10 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . 11 | 8.2. Informative References . . . . . . . . . . . . . . . . . 11 | |||
8.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 8.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
Appendix A. Change History (To be removed by RFC Editor before | Appendix A. Change History (To be removed by RFC Editor before | |||
publication) . . . . . . . . . . . . . . . . . . . . 12 | publication) . . . . . . . . . . . . . . . . . . . . 12 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
1. Introduction | 1. Introduction | |||
The Sieve Email Filtering Language [RFC5228] provides a number of | The Sieve Email Filtering Language [RFC5228] provides a number of | |||
action commands, some of which can generate additional messages on | action commands, some of which can generate additional messages on | |||
behalf of the user. It is sometimes desirable to have an archive of | behalf of the user. It is sometimes desirable for a Sieve user to | |||
the messages generated by these commands. | maintain an archive of the messages generated by these commands. | |||
This extension defines a new optional tagged argument ":fcc" to | This extension defines a new optional tagged argument ":fcc" to | |||
action commands which generate additional messages to allow a copy of | action commands which generate additional messages to allow a copy of | |||
the generated message to be filed into a target mailbox. | the generated message to be filed into a target mailbox. | |||
The capability string associated with this extension is "fcc". | The capability string associated with this extension is "fcc". | |||
Each action that generates additional messages will need to specify | Each action that generates additional messages will need to specify | |||
how it interfacts with :fcc. This document also specifies the | how it interfacts with :fcc. This document also specifies the | |||
interaction of :fcc with the Vacation [RFC5230] and Notify [RFC5435] | interaction of :fcc with the Vacation [RFC5230] and Notify [RFC5435] | |||
skipping to change at page 6, line 9 ¶ | skipping to change at page 6, line 9 ¶ | |||
values: | values: | |||
yes A copy of the notification message sent using the method | yes A copy of the notification message sent using the method | |||
identified by the notification-uri can be filed into a target | identified by the notification-uri can be filed into a target | |||
mailbox. | mailbox. | |||
no A copy of the notification message sent using the method | no A copy of the notification message sent using the method | |||
identified by the notification-uri can not be filed into a target | identified by the notification-uri can not be filed into a target | |||
mailbox. | mailbox. | |||
Note that the "fcc" notify_method_capability test does not require | ||||
the notification-uri argument to specify anything other than a | ||||
scheme. | ||||
Example: | Example: | |||
require ["enotify", "fcc"]; | require ["enotify", "fcc"]; | |||
if notify_method_capability "xmpp:" "Fcc" "yes" { | if notify_method_capability "xmpp:" "Fcc" "yes" { | |||
notify :fcc "INBOX.Sent" | notify :fcc "INBOX.Sent" | |||
:message "You got mail" | :message "You got mail" | |||
"xmpp:ken@example.com?message;subject=SIEVE"; | "xmpp:ken@example.com?message;subject=SIEVE"; | |||
} else { | } else { | |||
notify :fcc "INBOX.Sent" | notify :fcc "INBOX.Sent" | |||
skipping to change at page 6, line 43 ¶ | skipping to change at page 6, line 47 ¶ | |||
3.5. Interaction with Fileinto Extensions | 3.5. Interaction with Fileinto Extensions | |||
The "fcc" extension can be used with some tagged arguments defined in | The "fcc" extension can be used with some tagged arguments defined in | |||
extensions to the "fileinto" action. The sections below describe its | extensions to the "fileinto" action. The sections below describe its | |||
interaction with currently defined extensions. Tagged arguments in | interaction with currently defined extensions. Tagged arguments in | |||
future extensions to the "fileinto" command should describe their | future extensions to the "fileinto" command should describe their | |||
interaction with ":fcc", if any. | interaction with ":fcc", if any. | |||
When any "fileinto" extension arguments are used with ":fcc", the | When any "fileinto" extension arguments are used with ":fcc", the | |||
MUST have the same syntax and semantics as they do with "fileinto". | corresponding extension MUST be enabled, and the arguments MUST have | |||
the same syntax and semantics as they do with "fileinto". | ||||
3.5.1. Imap4flags Extension | 3.5.1. Imap4flags Extension | |||
This document extends the definition of the ":flags" [RFC5232] tagged | This document extends the definition of the ":flags" [RFC5232] tagged | |||
argument so that it can optionally be used with the ":fcc" argument. | argument so that it can optionally be used with the ":fcc" argument. | |||
FCC =/ [":flags" <list-of-flags: string-list>] | FCC =/ [":flags" <list-of-flags: string-list>] | |||
If the optional ":flags" argument is specified with ":fcc", it | If the optional ":flags" argument is specified with ":fcc", it | |||
instructs the Sieve interpreter to set the IMAP4 flags provided in | instructs the Sieve interpreter to set the IMAP4 flags provided in | |||
the subsequent argument when the generated message is filed into the | the subsequent argument when the generated message is filed into the | |||
target mailbox. | target mailbox. | |||
3.5.2. Mailbox Extension | 3.5.2. Mailbox Extension | |||
This document extends the definition of the ":create" [RFC5490] | This document extends the definition of the ":create" [RFC5490] | |||
tagged argument so that it can optionally be used with the ":fcc" | tagged argument so that it can optionally be used with the ":fcc" | |||
argument. | argument. | |||
skipping to change at page 8, line 39 ¶ | skipping to change at page 8, line 47 ¶ | |||
4.1. Cyrus Server | 4.1. Cyrus Server | |||
The open source Cyrus Server [2] project is a highly scalable | The open source Cyrus Server [2] project is a highly scalable | |||
enterprise mail system which supports Sieve email filtering at the | enterprise mail system which supports Sieve email filtering at the | |||
point of final delivery. This production level Sieve implementation | point of final delivery. This production level Sieve implementation | |||
supports all of the requirements described in this document. This | supports all of the requirements described in this document. This | |||
implementation is freely distributable under a BSD style license from | implementation is freely distributable under a BSD style license from | |||
Computing Services at Carnegie Mellon University [3]. | Computing Services at Carnegie Mellon University [3]. | |||
4.2. Oracle Communications Messaging Server | ||||
The Oracle Communications Messaging Server [4] is a highly scalable, | ||||
reliable, and available messaging platform. This production level | ||||
product supports the :fcc extension in conjunction with both the | ||||
notify and vacation extensions. The implementation meets all the | ||||
requirements given in this document. The product also supports the | ||||
imap4flags extension so the :flags may be used in conjunction :fcc. | ||||
5. Security Considerations | 5. Security Considerations | |||
The "fcc" extension does not raise any other security considerations | The "fcc" extension does not raise any other security considerations | |||
that are not already present in [RFC5228], [RFC5230], [RFC5435], and | that are not already present in [RFC5228], [RFC5230], [RFC5435], and | |||
[RFC6131]. | [RFC6131]. | |||
6. IANA Considerations | 6. IANA Considerations | |||
6.1. Registration of Sieve Extension | 6.1. Registration of Sieve Extension | |||
skipping to change at page 9, line 46 ¶ | skipping to change at page 10, line 17 ¶ | |||
The authors would like to thank the following individuals for | The authors would like to thank the following individuals for | |||
contributing their ideas and support for writing this specification: | contributing their ideas and support for writing this specification: | |||
Ned Freed, Stan Kalisch, and Alexey Melnikov. | Ned Freed, Stan Kalisch, and Alexey Melnikov. | |||
8. References | 8. References | |||
8.1. Normative References | 8.1. Normative References | |||
[I-D.ietf-extra-sieve-special-use] | [I-D.ietf-extra-sieve-special-use] | |||
Bosch, S., "Sieve Email Filtering: Delivering to Special- | Bosch, S., "Sieve Email Filtering: Delivering to Special- | |||
Use Mailboxes", draft-ietf-extra-sieve-special-use-02 | Use Mailboxes", draft-ietf-extra-sieve-special-use-03 | |||
(work in progress), March 2018. | (work in progress), September 2018. | |||
[RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail | [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail | |||
Extensions (MIME) Part One: Format of Internet Message | Extensions (MIME) Part One: Format of Internet Message | |||
Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996, | Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996, | |||
<https://www.rfc-editor.org/info/rfc2045>. | <https://www.rfc-editor.org/info/rfc2045>. | |||
[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail | [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail | |||
Extensions (MIME) Part Two: Media Types", RFC 2046, | Extensions (MIME) Part Two: Media Types", RFC 2046, | |||
DOI 10.17487/RFC2046, November 1996, | DOI 10.17487/RFC2046, November 1996, | |||
<https://www.rfc-editor.org/info/rfc2046>. | <https://www.rfc-editor.org/info/rfc2046>. | |||
skipping to change at page 12, line 5 ¶ | skipping to change at page 12, line 18 ¶ | |||
<https://www.rfc-editor.org/info/rfc7942>. | <https://www.rfc-editor.org/info/rfc7942>. | |||
8.3. URIs | 8.3. URIs | |||
[1] https://tools.ietf.org/html/bcp14 | [1] https://tools.ietf.org/html/bcp14 | |||
[2] http://www.cyrusimap.org/ | [2] http://www.cyrusimap.org/ | |||
[3] http://www.cmu.edu/computing/ | [3] http://www.cmu.edu/computing/ | |||
[4] https://www.oracle.com/industries/communications/enterprise/ | ||||
products/messaging-server/index.html | ||||
Appendix A. Change History (To be removed by RFC Editor before | Appendix A. Change History (To be removed by RFC Editor before | |||
publication) | publication) | |||
Changes since draft-ietf-extra-sieve-fcc-03: | Changes since draft-ietf-extra-sieve-fcc-03: | |||
o Fixed typo in ABNF. | o Fixed typo in ABNF. | |||
Changes since draft-ietf-extra-sieve-fcc-04: | ||||
o Editorial changes from Ned Freed. | ||||
o Added information on Oracle implementation. | ||||
Changes since draft-ietf-extra-sieve-fcc-02: | Changes since draft-ietf-extra-sieve-fcc-02: | |||
o Updated Keywords boilerplate. | o Updated Keywords boilerplate. | |||
o Noted that :fcc mailbox argument and any fileinto extension | o Noted that :fcc mailbox argument and any fileinto extension | |||
arguments used wth :fcc have the same syntax and semantics as they | arguments used wth :fcc have the same syntax and semantics as they | |||
have with fileinto. | have with fileinto. | |||
o Removed section on [e]Reject. | o Removed section on [e]Reject. | |||
End of changes. 16 change blocks. | ||||
18 lines changed or deleted | 42 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |