RFC 6131 PROPOSED STANDARD EMAIL · SIEVE

Sieve Vacation Seconds: Sieve Vacation Extension: "Seconds" Parameter

Lets a Sieve auto-reply wait seconds, not days, before replying to the same sender again.

On rfc-editor.org ↗
PUBLISHED
July 2011
AUTHORS
R. George, B. Leiba
STREAM
IETF
CAPABILITY STRING
vacation-seconds
ALLOWED VALUES
0 up to less than 2**31 seconds
MINIMUM SITE MAXIMUM
At least 86400 (one day)
DOI
10.17487/RFC6131

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                         R. George
Request for Comments: 6131                                      B. Leiba
Category: Standards Track                            Huawei Technologies
ISSN: 2070-1721                                                July 2011


             Sieve Vacation Extension: "Seconds" Parameter

Abstract

   This document describes a further extension to the Sieve Vacation
   extension, allowing multiple auto-replies to the same sender in a
   single day by adding a ":seconds" parameter.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc6131.

Copyright Notice

   Copyright (c) 2011 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
   (http://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 Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 2
     1.1.  Terminology Used in This Document . . . . . . . . . . . . . 2
   2.  The ':seconds' Parameter  . . . . . . . . . . . . . . . . . . . 2
   3.  Examples  . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
   4.  Security Considerations . . . . . . . . . . . . . . . . . . . . 4
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4
     5.1.  Registration of Sieve Extension . . . . . . . . . . . . . . 4
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 5
     6.1.  Normative References  . . . . . . . . . . . . . . . . . . . 5
     6.2.  Informative References  . . . . . . . . . . . . . . . . . . 5

1.  Introduction

   The Sieve [RFC5228] Vacation extension [RFC5230] defines a mechanism
   to generate automatic replies to incoming email messages.  Through
   the ":days" parameter, it limits the number of auto-replies to the
   same sender to one per [n] days, for a specified number of days.  But
   there are cases when one needs more granularity, if one would like to
   generate "vacation" replies more frequently.

   This extension defines a ":seconds" parameter to provide more
   granularity for such situations.

1.1.  Terminology Used in This Document

   The upper-case key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
   "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in RFC
   2119 [RFC2119].

2.  The ':seconds' Parameter

   The purpose of the ":seconds" parameter is to specify the minimum
   time interval (in seconds) between consecutive auto-replies to a
   given sender.  The ":seconds" value, if specified, is used instead of
   the ":days" value, and works in a similar way (see the Vacation
   extension [RFC5230] for details).  Only one of ":days" or ":seconds"
   is allowed -- use of both parameters in the same vacation action MUST
   result in a Sieve processing error.

   The capability string associated with this extension is "vacation-
   seconds".  Note that "vacation-seconds" implies "vacation", and a
   script with "vacation-seconds" in a "require" list can omit
   "vacation" from that list.

   The time value is specified in seconds, and MUST be greater than or
   equal to 0 and less than 2**31.  All valid values, from 0 to 2**31,
   MUST be accepted without error.  Sites MAY define a minimum effective
   value and/or a maximum effective value.  If a site chooses to do
   that:

   1.  Call the value specified "v(spec)".

   2.  Call the minimum effective value "v(min)".

   3.  Call the maximum effective value "v(max)".

   4.  Call the actual effective value used by the processor "v(eff)".

   5.  The following apply for determining v(eff):

       *  If 0 <= v(spec) < v(min), then v(eff) = v(min).

       *  If v(min) <= v(spec) <= v(max), then v(eff) = v(spec).

       *  If v(max) < v(spec) <= 2**31, then v(eff) = v(max).

   If a site imposes a maximum effective value, that value MUST be at
   least 86400 (one day).

   If ":seconds 0" is specified and used, it means that all auto-replies
   are sent, and no attempt is made to suppress consecutive replies.
   This differs from the base vacation specification, which does not
   allow a time period of zero (":days 0" is forbidden); the change is
   necessary to allow operation of an auto-responder (see [RFC6133], and
   note especially example 4 in section 3 of that document).

   If ":seconds" and ":days" are both omitted, a site-defined interval
   is used (see [RFC5230]).

   Usage: vacation [":days" number | ":seconds" number]
                   [":subject" string]
                   [":from" string]
                   [":addresses" string-list]
                   [":mime"]
                   [":handle" string]
                   <reason: string>

3.  Examples

   The following example will automatically reply to senders with a
   message that the recipient is in a meeting.  Multiple replies to the
   same sender will only be sent every half hour (1800 seconds).

   require ["vacation-seconds"];
   vacation :addresses ["tjs@example.edu", "ts4z@landru.example.edu"]
            :seconds 1800
            "I am in a meeting, and do not have access to email.";

   The following example is used to send an acknowledgment to every
   message received.  A :seconds value of zero is used to reply to every
   message, with no removal of duplicates to the same sender.  This
   requires that the Sieve engine allow an interval of zero; if it does
   not, and it imposes a minimum value, not every message will receive
   an auto-reply.

   require ["vacation-seconds"];

   vacation :handle "auto-resp" :seconds 0
       "Your request has been received.  A service
        representative will contact you as soon as
        possible, usually within one business day.";

4.  Security Considerations

   Security considerations for the Sieve Vacation extension [RFC5230]
   apply equally here.  In addition, implementations SHOULD consider the
   number of auto-replies that might be generated by allowing small
   values of ":seconds" (including 0), and MAY impose additional limits
   on that number.  See the Security Considerations section of RFC 3834
   [RFC3834] for a fuller discussion.

5.  IANA Considerations

5.1.  Registration of Sieve Extension

   To:  iana@iana.org
   Subject:  Registration of new Sieve extension
   Capability name:  vacation-seconds
   Description:  adds the ":seconds" parameter to the Sieve Vacation
      extension.  Implementations that support this MUST also support
      "vacation".
   RFC number:  RFC 6131
   Contact address:  The Sieve discussion list <sieve@ietf.org>

6.  References

6.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3834]  Moore, K., "Recommendations for Automatic Responses to
              Electronic Mail", RFC 3834, August 2004.

   [RFC5228]  Guenther, P. and T. Showalter, "Sieve: An Email Filtering
              Language", RFC 5228, January 2008.

   [RFC5230]  Showalter, T. and N. Freed, "Sieve Email Filtering:
              Vacation Extension", RFC 5230, January 2008.

6.2.  Informative References

   [RFC6133]  George, R., Leiba, B., and A. Melnikov, "Sieve Email
              Filtering: Use of Presence Information with Auto-Responder
              Functionality", RFC 6133, July 2011.

Authors' Addresses

   Robins George
   Huawei Technologies
   Bangalore, Karnataka  560071
   India

   Phone: +91-080-41117676
   EMail: robinsgv@gmail.com


   Barry Leiba
   Huawei Technologies

   Phone: +1 646 827 0648
   EMail: barryleiba@computer.org
   URI:   http://internetmessagingtechnology.org/

AI ELI5

On this page
PROBLEMThe Sieve Vacation extension limits auto-replies to the same sender to one per number of days, which is too coarse when replies are needed more often.
MECHANISMA new :seconds parameter sets the minimum interval in seconds between auto-replies to a given sender, and is used instead of :days.
WHY IT MATTERSSieve scripts can reply every half hour or even to every message, with sites free to set minimum and maximum effective values.

§1Why Days Are Too Coarse

The Sieve email filtering language (RFC 5228) has a Vacation extension (RFC 5230) that generates automatic replies to incoming mail. Its :days parameter limits replies to the same sender to one per number of days.

Some cases need replies more often. This extension adds a :seconds parameter for that finer granularity.

The old rule only lets you say 'wait this many days'. This adds a way to say 'wait this many seconds' instead.

§2The :seconds Parameter

:seconds gives the minimum time, in seconds, between consecutive auto-replies to a given sender. If given, it is used instead of :days and works in a similar way. Using both in the same vacation action MUST result in a Sieve processing error.

The capability string is vacation-seconds, which implies vacation, so a script can leave vacation out of its require list. The value MUST be greater than or equal to 0 and less than 2**31, and every valid value MUST be accepted without error. If both parameters are omitted, a site-defined interval is used.

You pick either days or seconds for the waiting time, never both at once. The mail system must accept any sensible number you give it.

§3Site Limits and Zero

Sites MAY define a minimum and a maximum effective value. A requested value below the minimum is raised to the minimum, and one above the maximum is lowered to the maximum. A site maximum MUST be at least 86400 (one day).

:seconds 0 means every message gets a reply and no attempt is made to suppress repeats. The base specification forbids :days 0; the change allows an auto-responder as in RFC 6133. If a site imposes a minimum, not every message will receive a reply.

The mail system can set its own shortest and longest wait. Zero means answer every single message.

§4Examples and Security

One example replies 'I am in a meeting' with :seconds 1800, so the same sender gets a reply at most every half hour. Another uses :handle "auto-resp" :seconds 0 to acknowledge every message received.

Security considerations of RFC 5230 apply. Implementations SHOULD consider how many auto-replies small values (including 0) could generate, and MAY impose additional limits. RFC 3834 discusses this further.

Replying very often can flood people with messages, so mail systems may put a cap on it.

EXAMPLE FROM THE RFC
Reply at most every half hour
require ["vacation-seconds"];

vacation :addresses ["tjs@example.edu", "ts4z@landru.example.edu"]
         :seconds 1800
         "I am in a meeting, and do not have access to email.";

§5References