draft-ietf-sieve-autoreply-03.txt   draft-ietf-sieve-autoreply-04.txt 
Sieve working group R. George Sieve working group R. George
Internet-Draft B. Leiba Internet-Draft B. Leiba
Intended status: Informational Huawei Technologies Intended status: Informational Huawei Technologies
Expires: June 6, 2011 A. Melnikov Expires: July 14, 2011 A. Melnikov
Isode Limited Isode Limited
December 3, 2010 January 10, 2011
Sieve Email Filtering: Use of Presence Information with Auto Responder Sieve Email Filtering: Use of Presence Information with Auto Responder
functionality functionality
draft-ietf-sieve-autoreply-03 draft-ietf-sieve-autoreply-04
Abstract Abstract
This document describes how the Sieve email filtering language, along This document describes how the Sieve email filtering language, along
with some extensions, can be used to create automatic replies to with some extensions, can be used to create automatic replies to
incoming electronic mail messages based on the address book and incoming electronic mail messages based on the address book and
presence information of the recipient. presence information of the recipient.
Status of this Memo Status of this Memo
skipping to change at page 1, line 36 skipping to change at page 1, line 36
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 http://datatracker.ietf.org/drafts/current/. Drafts is at http://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 June 6, 2011. This Internet-Draft will expire on July 14, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2011 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. How To Create Auto Replies . . . . . . . . . . . . . . . . . . 3 2. How To Create Auto Replies . . . . . . . . . . . . . . . . . . 4
3. Example Use Cases for Auto Replies . . . . . . . . . . . . . . 4 3. Example Use Cases for Auto Replies . . . . . . . . . . . . . . 4
4. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 4. Security Considerations . . . . . . . . . . . . . . . . . . . 8
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
6. Normative References . . . . . . . . . . . . . . . . . . . . . 8 6. Normative References . . . . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction 1. Introduction
This document describes how the Sieve email filtering language This document describes how the Sieve email filtering language
[RFC5228], along with some extensions [RFC5230] [RFC5435] [RFC5228], along with some extensions [RFC5230] [RFC5435]
[I-D.ietf-sieve-external-lists] [I-D.ietf-sieve-notify-presence] [I-D.ietf-sieve-external-lists] [I-D.ietf-sieve-notify-presence]
[I-D.ietf-sieve-vacation-seconds] can be used to generate automatic [I-D.ietf-sieve-vacation-seconds] can be used to generate automatic
replies to incoming electronic mail messages based on the presence replies to incoming electronic mail messages based on the presence
information of the recipient. This can be used, for example, to information of the recipient. This can be used, for example, to
inform the sender that messages will not be answered immediately inform the sender that messages will not be answered immediately
skipping to change at page 3, line 39 skipping to change at page 3, line 39
received from the same sender and they will start or stop sending received from the same sender and they will start or stop sending
responses as the presence status of the recipient changes. responses as the presence status of the recipient changes.
An important note, though: users of any auto-reply mechanism should An important note, though: users of any auto-reply mechanism should
really think about whether automatic replies are necessary, and at really think about whether automatic replies are necessary, and at
what interval they make sense when they are. Email is not Instant what interval they make sense when they are. Email is not Instant
Messaging, and senders generally expect that replies might take a Messaging, and senders generally expect that replies might take a
while. Consider whether it's truly important to tell people that while. Consider whether it's truly important to tell people that
you'll read their mail in an hour or so, or whether that can just be you'll read their mail in an hour or so, or whether that can just be
taken as how email works. There are times when this makes sense, but taken as how email works. There are times when this makes sense, but
let's not use it to exacerbate information overload. let's not use it to exacerbate information overload. Judicious use
of appropriate presence information might serve to mitigate these
issues.
Implementors, therefore, need to consider this with respect to the
features they expose to users, and the potential for inappropriate
use those features represent. The ability to create auto-responders
might be hidden behind an "advanced" button, and users might be
warned of the consequences, and advised of the considerations in the
previous paragraph.
2. How To Create Auto Replies 2. How To Create Auto Replies
When an email message arrives, the Sieve script can use the When an email message arrives, the Sieve script can use the
notify_method_capability of the Notify extension [RFC5435] to check notify_method_capability of the Notify extension [RFC5435] to check
the recipient's presence information. The Notify-presence extension the recipient's presence information. The Notify-presence extension
[I-D.ietf-sieve-notify-presence] makes additional presence, such as [I-D.ietf-sieve-notify-presence] makes additional presence, such as
"away" and "do not disturb" status, available. The script can use "away" and "do not disturb" status, available. The script can use
the External-lists extension [I-D.ietf-sieve-external-lists] to look the External-lists extension [I-D.ietf-sieve-external-lists] to look
the sender up in the recipient's address book or other list. If the the sender up in the recipient's address book or other list. If the
skipping to change at page 5, line 5 skipping to change at page 5, line 21
# :matches "*" is used here to extract the value # :matches "*" is used here to extract the value
if notify_method_capability :matches if notify_method_capability :matches
"xmpp:myjid@example.com" "status" "*" { "xmpp:myjid@example.com" "status" "*" {
set "resp_msg" "${1}"; set "resp_msg" "${1}";
} else { } else {
set "resp_msg" "Away for a while, without access to email."; set "resp_msg" "Away for a while, without access to email.";
} }
vacation :handle "ext-away" :seconds 1800 "${resp_msg}"; vacation :handle "ext-away" :seconds 1800 "${resp_msg}";
} }
2. In the next example, we'll check several lists or sublists, auto- 2. In the next example, we'll check for the recipient's personal
replying to everyone, but sending more detail about the assistant, and give very detailed information about the
recipient's status to senders who are found in the recipient's recipient's status to that sender. For other senders in the
address book, and still more detail to those in the "family" and "family" and "friends" lists we'll also send an auto-reply.
"friends" lists. Other senders will be considered less important, and don't need
auto-replies.
require ["envelope", "extlists", "enotify", "vacation-seconds"]; require ["envelope", "extlists", "enotify", "vacation-seconds"];
if envelope :list "from" ["tag:example.com,2009-05-28:family", if envelope :is "from" "assistant@example.com"
"tag:example.com,2009-05-28:friends"]
{ {
if notify_method_capability "xmpp:me@example.com" "show" "away" if notify_method_capability "xmpp:me@example.com" "show" "away"
{ {
vacation :handle "away" :seconds 600 vacation :handle "away" :seconds 600
"I'm away for now, but I'll be back soon."; "I'm away for now, but I'll be back soon.";
} }
elsif notify_method_capability "xmpp:me@example.com" "show" "dnd" elsif notify_method_capability "xmpp:me@example.com" "show" "dnd"
{ {
vacation :handle "dnd" :seconds 1800 vacation :handle "dnd" :seconds 1800
"I'm not to be disturbed. I'll check mail later."; "I'm not to be disturbed. I'll check mail later.";
skipping to change at page 5, line 37 skipping to change at page 6, line 30
{ {
vacation :handle "ext-away" :seconds 3600 vacation :handle "ext-away" :seconds 3600
"I'm away for a while, without access to email."; "I'm away for a while, without access to email.";
} }
elsif notify_method_capability "xmpp:me@example.com" "busy" "yes" elsif notify_method_capability "xmpp:me@example.com" "busy" "yes"
{ {
vacation :handle "busy" :seconds 1800 vacation :handle "busy" :seconds 1800
"I'm very busy, but might check email now and then."; "I'm very busy, but might check email now and then.";
} }
} }
elsif envelope :list "from" "tag:example.com,2009-05-28:AddrBook" elsif envelope :list "from" ["tag:example.com,2009-05-28:family",
"tag:example.com,2009-05-28:friends"]
{ {
if notify_method_capability "xmpp:me@example.com" "show" if notify_method_capability "xmpp:me@example.com" "show"
["away", "dnd", "xa"] ["away", "dnd", "xa"]
{ {
vacation :handle "away" :seconds 3600 vacation :handle "away" :seconds 3600
"I'm not available to respond to email."; "I'm not available to respond to email.";
} }
} }
else # the sender is not in the address book else
{ { # We could respond as below, making it only once a day
vacation :handle "catchall" :days 1 # for less important senders. Better to just omit
"I got your message, and might read it eventually."; # that, though (see the end of the Introduction section).
#
# vacation :handle "catchall" :days 1
# "I got your message, and might read it eventually.";
} }
3. For this example, if the sender is a work colleague and the 3. For this example, if the sender is a work colleague and the
recipient is on extended away status, then reply with a message recipient is on extended away status, then reply with a message
giving alternative contact information. The message might also giving alternative contact information. The message might also
include details about the reason for the absence, or other include details about the reason for the absence, or other
personal or confidential information that shouldn't be shared personal or confidential information that shouldn't be shared
with senders who aren't associated with the recipient's company. with senders who aren't associated with the recipient's company.
require ["envelope", "extlists", "enotify", "vacation"]; require ["envelope", "extlists", "enotify", "vacation"];
 End of changes. 17 change blocks. 
25 lines changed or deleted 38 lines changed or added

This html diff was produced by rfcdiff 1.40. The latest version is available from http://tools.ietf.org/tools/rfcdiff/