idnits 2.17.1 draft-ietf-extra-sieve-fcc-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There is 1 instance of too long lines in the document, the longest one being 1 character in excess of 72. -- The draft header indicates that this document updates RFC5435, but the abstract doesn't seem to mention this, which it should. -- The draft header indicates that this document updates RFC5230, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year (Using the creation date from RFC5230, updated by this document, for RFC5378 checks: 2005-03-16) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (January 11, 2018) is 2297 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-05) exists of draft-ietf-extra-sieve-special-use-01 ** Obsolete normative reference: RFC 4234 (Obsoleted by RFC 5234) Summary: 2 errors (**), 0 flaws (~~), 2 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 EXTRA K. Murchison 3 Internet-Draft B. Gondwana 4 Updates: 5230, 5435 (if approved) FastMail 5 Intended status: Standards Track January 11, 2018 6 Expires: July 15, 2018 8 Sieve Extension: File Carbon Copy (Fcc) 9 draft-ietf-extra-sieve-fcc-01 11 Abstract 13 The Sieve Email Filtering Language provides a number of action 14 commands, some of which can generate additional messages on behalf of 15 the user. This document defines an extension to such commands to 16 allow a copy of any generated message to be filed into a target 17 mailbox. 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at https://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on July 15, 2018. 36 Copyright Notice 38 Copyright (c) 2018 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (https://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 54 2. Conventions Used in This Document . . . . . . . . . . . . . . 2 55 3. Tagged Argument ":fcc" . . . . . . . . . . . . . . . . . . . 3 56 3.1. Interaction with the Vacation Action . . . . . . . . . . 3 57 3.2. Interaction with the Notify Action . . . . . . . . . . . 4 58 3.3. Compatibility with the Reject and Extended Reject 59 Actions . . . . . . . . . . . . . . . . . . . . . . . . . 4 60 3.4. Compatibility with Other Actions . . . . . . . . . . . . 4 61 3.5. Interaction with Fileinto Extensions . . . . . . . . . . 4 62 3.5.1. Imap4flags Extension . . . . . . . . . . . . . . . . 5 63 3.5.2. Mailbox Extension . . . . . . . . . . . . . . . . . . 5 64 3.5.3. Special-Use Extension . . . . . . . . . . . . . . . . 5 65 3.5.4. Extended Example . . . . . . . . . . . . . . . . . . 6 66 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 67 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 68 5.1. Registration of Sieve Extension . . . . . . . . . . . . . 6 69 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 70 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 71 7.1. Normative References . . . . . . . . . . . . . . . . . . 6 72 7.2. Informative References . . . . . . . . . . . . . . . . . 7 73 Appendix A. Change History (To be removed by RFC Editor before 74 publication) . . . . . . . . . . . . . . . . . . . . 8 75 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 77 1. Introduction 79 The Sieve Email Filtering Language [RFC5228] provides a number of 80 action commands, some of which can generate additional messages on 81 behalf of the user. Two such commands are defined by the Vacation 82 [RFC5230] and Notify [RFC5435] extensions. It is sometimes desirable 83 to have an archive of the messages generated by these commands. 85 This extension defines a new optional tagged argument ":fcc" to 86 action commands which generate additional messages to allow a copy of 87 the generated message to be filed into a target mailbox. 89 The capability string associated with this extension is "fcc". 91 2. Conventions Used in This Document 93 Conventions for notations are as in Section 1.1 of [RFC5228], 94 including use of the "Usage:" label for the definition of action and 95 tagged arguments syntax. 97 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 98 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 99 "OPTIONAL" in this document are to be interpreted as described in 100 [RFC2119]. 102 3. Tagged Argument ":fcc" 104 Usage: ":fcc" FCC-OPTIONS 106 The positional FCC-OPTIONS argument is defined here in ABNF [RFC4234] 107 syntax so that it can be modified by other extensions. 109 FCC-OPTIONS = "" ; empty string 111 If the optional ":fcc" argument is specified with an action that 112 generates an additional message, it instructs the Sieve interpreter 113 to file a copy of the generated message into the target mailbox. If 114 the specified mailbox doesn't exist, the implementation MAY treat it 115 as an error, create the mailbox, or file the message into an 116 implementation-defined mailbox. 118 3.1. Interaction with the Vacation Action 120 This document extends the "vacation" [RFC5230] action (see also 121 "vacation-seconds" [RFC6131]) to optionally store a copy of the auto- 122 reply messages into a target mailbox. 124 Usage: vacation [":days" number | ":seconds" number] 125 [":subject" string] 126 [":from" string] 127 [":addresses" string-list] 128 [":mime"] 129 [":handle" string] 130 [":fcc" FCC-OPTIONS ] 131 133 Example: 135 require ["vacation", "fcc"]; 137 vacation :days 7 138 :fcc "INBOX.Sent" 139 :from "hemingway@example.com" "Gone Fishin'"; 141 3.2. Interaction with the Notify Action 143 This document extends the "notify" [RFC5435] action to optionally 144 store a copy of the notification messages into a target mailbox. 146 Usage: notify [":from" string] 147 [":importance" <"1" / "2" / "3">] 148 [":options" string-list] 149 [":message" string] 150 [":fcc" FCC-OPTIONS ] 151 153 Example: 155 require ["enotify", "fcc"]; 157 notify :message "You got mail!" 158 :fcc "INBOX.Sent" 159 "mailto:ken@example.com"; 161 3.3. Compatibility with the Reject and Extended Reject Actions 163 "fcc" MUST be incompatible with the "reject" and "ereject" [RFC5429] 164 actions. Making "fcc" compatible with these actions violates the 165 SMTP [RFC5321] principle that a message is either delivered or 166 bounced back to the sender. Namely, the saved copy of the rejection 167 message will contain the original message. 169 It is an error for a script to use the ":fcc" tagged argument with 170 either "reject" or "ereject". 172 3.4. Compatibility with Other Actions 174 The "fcc" extension is not compatible with any Sieve action that does 175 not generate an additional message on behalf of the user. It is an 176 error for a script to use the ":fcc" tagged argument with any such 177 action. 179 Future extensions that define actions that generate additional 180 messages on behalf of the user should describe their compatibility 181 with ":fcc". 183 3.5. Interaction with Fileinto Extensions 185 The "fcc" extension can be used with some tagged arguments defined in 186 extensions to the "fileinto" action. The sections below describe its 187 interaction with currently defined extensions. Tagged arguments in 188 future extensions to the "fileinto" command should describe their 189 interaction with ":fcc", if any. 191 3.5.1. Imap4flags Extension 193 This document extends the definition of the ":flags" [RFC5232] tagged 194 argument so that it can be used as an FCC-OPTIONS to the ":fcc" 195 argument. 197 FCC-OPTIONS =/ [":flags" ] 199 If the optional ":flags" argument is specified with ":fcc", it 200 instructs the Sieve interpreter to set the IMAP4 flags provided in 201 the subsequent argument when the generated message is filed into the 202 target mailbox. 204 3.5.2. Mailbox Extension 206 This document extends the definition of the ":create" [RFC5490] 207 tagged argument so that it can be used as an FCC-OPTIONS to the 208 ":fcc" argument. 210 FCC-OPTIONS =/ [":create"] 212 If the optional ":create" argument is specified with ":fcc", it 213 instructs the Sieve interpreter to create the target mailbox, if 214 needed, before attempting to file the generated message into the 215 target mailbox. 217 3.5.3. Special-Use Extension 219 This document extends the definition of the ":specialuse" 220 [I-D.ietf-extra-sieve-special-use] tagged argument so that it can be 221 used as an FCC-OPTIONS to the ":fcc" argument. 223 FCC-OPTIONS =/ [":specialuse "] 225 If the optional ":specialuse" argument is specified with ":fcc", it 226 instructs the Sieve interpreter to check whether a mailbox exists 227 with the specific special-use flag assigned to it. If such a mailbox 228 exists, the generated message is filed into the special-use mailbox. 229 Otherwise, the generated message is filed into the target mailbox. 231 If both the optional ":specialuse" and ":create" arguments are 232 specified with ":fcc", the Sieve interpreter is instructed to create 233 the target mailbox per Section 4.1 of 234 [I-D.ietf-extra-sieve-special-use], if needed. 236 3.5.4. Extended Example 238 require ["vacation", "fcc", "mailbox", "special-use", "imap4flags"]; 240 vacation :days 7 241 :fcc :specialuse "\\Sent" :create :flags ["\\Seen"] "INBOX.Sent" 242 :from "hemingway@example.com" "Gone Fishin'"; 244 4. Security Considerations 246 The "fcc" extension does not raise any other security considerations 247 that are not already present in [RFC5228], [RFC5230], [RFC5435], and 248 [RFC6131]. 250 5. IANA Considerations 252 5.1. Registration of Sieve Extension 254 To: iana@iana.org 256 Subject: Registration of new Sieve extension 258 Capability name: fcc 260 Description: Adds the ":fcc" parameter to Sieve action commands 261 that generate additional messages. 263 RFC number: RFC XXXX 265 Contact address: The Sieve discussion list 267 6. Acknowledgments 269 The authors would like to thank the following individuals for 270 contributing their ideas and support for writing this specification: 271 Ned Freed, Stan Kalisch. 273 7. References 275 7.1. Normative References 277 [I-D.ietf-extra-sieve-special-use] 278 Bosch, S., "Sieve Email Filtering: Delivering to Special- 279 Use Mailboxes", draft-ietf-extra-sieve-special-use-01 280 (work in progress), January 2018. 282 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 283 Requirement Levels", BCP 14, RFC 2119, 284 DOI 10.17487/RFC2119, March 1997, 285 . 287 [RFC4234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 288 Specifications: ABNF", RFC 4234, DOI 10.17487/RFC4234, 289 October 2005, . 291 [RFC5228] Guenther, P., Ed. and T. Showalter, Ed., "Sieve: An Email 292 Filtering Language", RFC 5228, DOI 10.17487/RFC5228, 293 January 2008, . 295 [RFC5230] Showalter, T. and N. Freed, Ed., "Sieve Email Filtering: 296 Vacation Extension", RFC 5230, DOI 10.17487/RFC5230, 297 January 2008, . 299 [RFC5232] Melnikov, A., "Sieve Email Filtering: Imap4flags 300 Extension", RFC 5232, DOI 10.17487/RFC5232, January 2008, 301 . 303 [RFC5435] Melnikov, A., Ed., Leiba, B., Ed., Segmuller, W., and T. 304 Martin, "Sieve Email Filtering: Extension for 305 Notifications", RFC 5435, DOI 10.17487/RFC5435, January 306 2009, . 308 [RFC5490] Melnikov, A., "The Sieve Mail-Filtering Language -- 309 Extensions for Checking Mailbox Status and Accessing 310 Mailbox Metadata", RFC 5490, DOI 10.17487/RFC5490, March 311 2009, . 313 7.2. Informative References 315 [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, 316 DOI 10.17487/RFC5321, October 2008, 317 . 319 [RFC5429] Stone, A., Ed., "Sieve Email Filtering: Reject and 320 Extended Reject Extensions", RFC 5429, 321 DOI 10.17487/RFC5429, March 2009, 322 . 324 [RFC6131] George, R. and B. Leiba, "Sieve Vacation Extension: 325 "Seconds" Parameter", RFC 6131, DOI 10.17487/RFC6131, July 326 2011, . 328 Appendix A. Change History (To be removed by RFC Editor before 329 publication) 331 Changes since draft-ietf-extra-sieve-fcc-00: 333 o Updated abstract with text from Ned. 335 o Added support for :fcc to notify extension. 337 o Prohibit use of :fcc with reject and ereject extensions. 339 o Added registration of the extension with IANA. 341 o Added Acknowledgments. 343 o Minor editorial changes. 345 Authors' Addresses 347 Kenneth Murchison 348 FastMail Pty Ltd 349 Level 2, 114 William Street 350 Melbourne, VIC 3000 351 Australia 353 Email: murch@fastmailteam.com 355 Bron Gondwana 356 FastMail Pty Ltd 357 Level 2, 114 William Street 358 Melbourne, VIC 3000 359 Australia 361 Email: brong@fastmailteam.com