Network Working Group                                    Bryan Costales
Request for Comments: DRAFT                               InfoBeat, Inc.
<draft-costales-subscribe-01.txt>                             April 1997


                  E-Mail Headers to Facilitate Mailing
                 List Subscriptions and Unsubscriptions


Status of this Memo

   This document is an Internet-Draft.  Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as ``work in progress.''

   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
   Directories on ftp.is.co.za (Africa), ftp.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
   ftp.isi.edu (US West Coast).

Abstract

   The number of ways to subscribe-to (and to unsubscribe-from) e-mail
   mailing lists is as varied as the number of programmers designing
   mailing list software. For some lists, for example, users
   (un)subscribe by sending a request to <listname>-request@host.domain.
   For others lists the address is majordomo@host.domain with the
   request to (un)subscribe embedded in the message body. Yet others set
   up special hosts to satisfy this need, such as <listname>@list-
   off.domain.  In this Internet Draft we offer two new e-mail headers
   intended to make mailing list subscription and unsubscription easier
   and more uniform: List-Subscribe and List-Unsubscribe.

Discussion

   Naive users, over time, rely more and more on the ``smart'' features
   of Mail User Agent programs to solve complex needs. Filtering in
   bound e-mail is on such feature. Automating subscription to and
   unsubscription from mailing lists could be another. Consider, for
   example, a typical (but abbreviated) mailing list message.




Costales                                                        [Page 1]


INTERNET-DRAFT                                                April 1997


           To: you@your.domain
           From: list@example.domain (Mailing List Site)
           Subject: Your mass mailing for today
           Comment: to unsubscribe send a message to list-cancel@example.domain
           X-List-Unsubscribe: list-cancel@example.domain

           ... 50 or so lines of message contents

           * To unsubscribe from this Mailing List, send an e-mail message to
             list-cancel@example.domain.

   Here, three problems with this message prevent easy automation of the
   unsubscription process:

   (1) The Comment header describes how to unsubscribe from the mailing
   list.  Unfortunately, it is in free-form text, inappropriate for
   automatic parsing. Also, because the Comment header is a general
   purpose header, there is no guarantee that any addresses found in it
   are those used for unsubscription purposes.

   (2) The X-List-Unsubscribe header, because it begins with an X-, is a
   non-standardized header. Although some software may recognize it as
   specifying an address for unsubscription, other software will not.
   The leading X- prevents any requirement that all software recognize
   its special meaning.

   (3) The trailing text in the message body also describes how to
   unsubscribe. This is perhaps the most common and least easily
   automated form for providing unsubscription information.

The List-Subscribe and List-Unsubscribe headers

   One method to specify mailing-list subscription and unsubscription
   information in an e-mail message is to include an appropriate, and
   corresponding List-Subscribe and List-Unsubscribe header. The List-
   Subscribe specifies the address (or URL, see below) to which e-mail
   must be sent to subscribe to a mailing list. The List-Unsubscribe
   header specifies the address (or URL) to which e-mail must be sent to
   unsubscribe  from a mailing list.

   The field-body (the text to the right of the colon following the
   header name) for these headers shall be either a bare address
   specification or a mailto URL.

A Bare Address

   When the address specification in the field-body may be that of an
   RFC822 recipient including address commentary. For example:



Costales                                                        [Page 2]


INTERNET-DRAFT                                                April 1997


           List-Unsubscribe: Stop Getting This <listname+off@host.domain>
           List-Subscribe: listname+on@host.domain (Join The List)

   The recipient address specification in the field-body is in every way
   identical to that for the ``To'' header, except that it may only list
   a single recipient.

The Mailto URL

   When the address part of the address specification in the field-body
   is surrounded by a '<' and '>' pair, and when the first non-
   whitespace characters following the '<' are ``mailto:'', the address
   specification shall be interpreted as a mailto URL. For example:

           List-Unsubscribe: <mailto: listname+off@host.domain>
           List-Subscribe: <mailto: listname+on@host.domain>

   Currently, only an e-mail address may appear in a mailto URL.  Future
   enhancements may include the ability to include other header and body
   information. When legal, such use of extensions are recommended. For
   example:

           List-Unsubscribe:
                <mailto: majordomo@host.domain?body=unsubscribe>

Security Considerations

   If mail user agents are careless when using the List-Subscribe and
   List-Unsubscribe headers, risk develops that a user may inadvertently
   ``spam'' or otherwise misuse a mailing list.

   These headers should only provide a template for addresses that can
   be used by user agent software.  A user agent should never send a
   message based on these headers without first showing the user the
   full message that will be sent (including all headers), fully
   decoded, and asking the user for approval to send the message.  The
   user agent should also make it clear that the user is about to
   subscribe-to or to unsubscribe-from a mailing list.













Costales                                                        [Page 3]


INTERNET-DRAFT                                                April 1997


Author's  Address:

   Bryan Costales
   InfoBeat, Inc.
   Denver, Colorado 80202 USA
   Tel: 303-295-0335
   bcx@infobeat.com












































Costales                                                        [Page 4]