home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_s_z / draft-wing-smtp-capabilities-00.txt < prev    next >
Text File  |  1997-08-26  |  11KB  |  391 lines

  1.  
  2. Internet Draft                                                  Dan Wing
  3. August 26, 1997                                               Neil Joffe
  4. Expires February 1998                                Cisco Systems, Inc.
  5.  
  6.  
  7.                     Capabilities Exchange over SMTP
  8.                   draft-wing-smtp-capabilities-00.txt
  9.  
  10.  
  11. Status of this memo
  12.  
  13. This document is an Internet-Draft. Internet-Drafts are working
  14. documents of the Internet Engineering Task Force (IETF), its areas, and
  15. its working groups.  Note that other groups may also distribute working
  16. documents as Internet-Drafts.
  17.  
  18. Internet-Drafts are draft documents valid for a maximum of six months
  19. and may be updated, replaced, or obsoleted by other documents at any
  20. time.  It is inappropriate to use Internet- Drafts as reference material
  21. or to cite them other than as "work in progress."
  22.  
  23. To learn the current status of any Internet-Draft, please check the
  24. "1id-abstracts.txt" listing contained in the Internet- Drafts Shadow
  25. Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  26. munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  27. ftp.isi.edu (US West Coast).
  28.  
  29.  
  30.  
  31. 1.  Abstract
  32.  
  33. This document describes an extension to SMTP [RFC821] which provides a
  34. mechanism for capabilities exchange so the sender knows the capabilities
  35. of the ultimate recipient or the ESMTP server itself.
  36.  
  37.  
  38. 2.  Introduction
  39.  
  40. This memo defines a mechanism to allow an ESMTP client to determine the
  41. capabilities (such as viewers, word processors, and color support) and
  42. preferences (such language) of a recipient, which allows the ESMTP
  43. client to send a message in a format that is usable by the recipient.
  44.  
  45.  
  46. 2.1.  CAPABILITIES Extension
  47.  
  48. The CAPABILITIES extension permits an ESMTP client to easily obtain a
  49. recipient's capabilities.  These capabilities can be used by the client
  50.  
  51.  
  52.  
  53. Wing, Joffe              Expires February 1998                  [Page 1]
  54.  
  55. Internet Draft      Capabilities Exchange over ESMTP         August 1997
  56.  
  57.  
  58. to send a message that can be read by the recipient, or to inform the
  59. mail user agent that the recipient will be unable to read the message.
  60.  
  61. The CAPS esmtp-keyword for the RCPT command causes the server to
  62. advertise recipient capabilities.  These capabilities can be:
  63.  
  64.   (a)  those of the actual recipient (if known through some database,
  65.        LDAP query, querying the next MTA in the SMTP path, or another
  66.        implementation-specific mechanism), or
  67.   (b)  the recipient's capabilities (from (a)), plus those capabilities
  68.        the ESMTP server is willing to accept and translate to the
  69.        recipient's capabilities (text/8bit to text/quoted-printable, for
  70.        example).
  71.  
  72. This memo uses the mechanism described in [SMTP-EXT] to define an
  73. extension to the SMTP protocol for indicating recipient's capabilities
  74. to the ESMTP client.
  75.  
  76.  
  77. 2.2.  Discussion of this draft
  78.  
  79. This draft is being discussed on the "ietf-fax" mailing list.  To
  80. subscribe, send a message to:
  81.      ietf-fax-request@imc.org
  82. with the line:
  83.      subscribe
  84. in the body of the message.  Archives are available from
  85. http://www.imc.org/ietf-fax.
  86.  
  87.  
  88. 2.3.  Requirements notation
  89.  
  90. This document occasionally uses terms that appear in capital letters.
  91. When the terms "MUST", "SHOULD", "MUST NOT", "SHOULD NOT", and "MAY"
  92. appear capitalized, they are being used to indicate particular
  93. requirements of this specification. A discussion of the meanings of
  94. these terms appears in [REQ].
  95.  
  96.  
  97. 3.  Framework for capabilities extension
  98.  
  99. The following service extension is defined for capabilities exchange.
  100.  
  101.   (1)  The name of the capabilities extension is Capabilities;
  102.  
  103.   (2)  the EHLO keyword value associated with the capabilities extension
  104.        is CAPABILITIES;
  105.  
  106.  
  107.  
  108.  
  109. Wing, Joffe              Expires February 1998                  [Page 2]
  110.  
  111. Internet Draft      Capabilities Exchange over ESMTP         August 1997
  112.  
  113.  
  114.   (3)  no parameters are allowed with this extension;
  115.  
  116.   (4)  no new SMTP verbs are associated with this extension;
  117.  
  118.   (5)  one optional parameter for the RCPT command, using the
  119.        esmtp-keyword "CAPS", (used to request the capabilities of the
  120.        recipient), is defined in section 4,
  121.  
  122.        no parameters are added to the MAIL command;
  123.  
  124.   (6)  the maximum length of RCPT TO is increased by 5 characters.
  125.  
  126.  
  127. 4.  Behavior of RCPT TO:<forward-path> CAPS
  128.  
  129. A RCPT command issued by a client may contain the optional esmtp-
  130. keyword "CAPS" to indicate that the ESMTP client wishes to receive
  131. recipient capabilities information in the RCPT response from the ESMTP
  132. server.
  133.  
  134. The server should be aware of the nature of the recipient via some
  135. implementation-specific method (LDAP or other directory query,
  136. contacting the destination system directly, or some other
  137. implementation-specific method).
  138.  
  139.  
  140.  
  141. 4.1.  Responses to RCPT TO esmtp-keyword CAPS
  142.  
  143. The response to the esmtp-keyword CAPS on a RCPT TO command is a
  144. multiline reply, consisting of the standard SMTP reply, followed by
  145. recipient capabilities in the format specified by [HTTP-HEAD] and
  146. [HTTP-NEG].  The response should be split on multiple lines to not
  147. exceed the 512 character limit for a reply line as specified in
  148. [RFC821, SMTP-UPD].
  149.  
  150. The ESMTP server only needs to indicate capabilities if the ESMTP server
  151. is responding with a positive (2xx) reply.  Non-positive replies don't
  152. need to include capabilities and such capabilities are to be ignored by
  153. the ESMTP client if they are present.
  154.  
  155. The positive response, in [ABNF] form is:
  156.  
  157.   caps-response = "250" SP rcpt-response /
  158.                   ( "250-" SP rcpt-response CR LF
  159.                   *( "250-" http-line / ttl-caps CR LF )
  160.                      "250" SP http-line / ttl-caps CR LF )
  161.  
  162.  
  163.  
  164.  
  165. Wing, Joffe              Expires February 1998                  [Page 3]
  166.  
  167. Internet Draft      Capabilities Exchange over ESMTP         August 1997
  168.  
  169.  
  170. where "rcpt-response" is the normal response issued by the ESMTP server
  171. when it receives a valid forward-path.
  172.  
  173. As time to live for these capabilities are not described in [HTTP-NEG],
  174. the following are defined:
  175.  
  176.   ttl-caps    = "ttl=" ttl-seconds
  177.   ttl-seconds = 1*DIGIT
  178.  
  179. The purpose of <ttl> is to indicate how long the list of capabilties
  180. should be considered an authoritative list of capabilities.  The ttl is
  181. decremented by the ESMTP server for the length of time since the data
  182. was last refreshed.  A ttl of 0 indicates the capabilities list is
  183. out-of-date but newer authoritative capabilities are not obtainable at
  184. this time.
  185.  
  186.  
  187. 4.2.  ESMTP server unable to obtain capabilities
  188.  
  189. If the ESMTP server receives a request for recipient capabilities but
  190. cannot determine the capabilities of the recipient for some reason, the
  191. ESMTP server may reply with:
  192.  
  193.   (1) ttl=0, or
  194.   (2) an expired capabilities list and ttl=0
  195.  
  196. This allows the ESMTP client to:
  197.  
  198.   (a) abort the transaction, or
  199.   (b) send whatever data it wishes (case 1, above), or
  200.   (c) send data meeting the capabilities listed in (case 2, above).
  201.  
  202.  
  203. 5.  Examples
  204.  
  205. 5.1.  Simple capabilities exchange
  206.  
  207.   S: 220 gw.cisco.com ESMTP service ready
  208.   C: EHLO joffe-pc.cisco.com
  209.   S: 250-gw.cisco.com says hello
  210.   S: 250 CAPABILITIES
  211.   C: MAIL FROM:<njoffe@cisco.com>
  212.   S: 250 <njoffe@cisco.com> sender okay
  213.   C: RCPT TO:<masinter@parc.xerox.com> CAPS
  214.   S: 250-<masinter@parc.xerox.com> recipient ok
  215.   S: 250-Accept: audio/basic
  216.   S: 250-Accept: text/*
  217.   S: 250-Accept: image/tiff;application=f, image/tiff;application=fx,
  218.  
  219.  
  220.  
  221. Wing, Joffe              Expires February 1998                  [Page 4]
  222.  
  223. Internet Draft      Capabilities Exchange over ESMTP         August 1997
  224.  
  225.  
  226.        application/octet-stream; q=0.2
  227.   S: 250-Accept-Features: papersize=na-letter, papersize=iso-a4
  228.   S: 250-Accept-Features: pix-x=1728, res=204x196
  229.   S: 250 ttl=500
  230.   C: DATA
  231.   ...
  232.  
  233. 5.2.  ESMTP server isn't able to obtain capabilities for recipient
  234.  
  235.   S: 220 gw.cisco.com ESMTP service ready
  236.   C: EHLO wing-pc.cisco.com
  237.   S: 250-gw.cisco.com says hello
  238.   S: 250 CAPABILITIES
  239.   C: MAIL FROM:<dwing@cisco.com>
  240.   S: 250 <dwing@cisco.com> sender okay
  241.   C: RCPT TO:<adelman@adelman.com> CAPS
  242.   S: 250 <adelman@adelman.com> recipient ok
  243.   C: DATA
  244.   ...
  245.  
  246. 5.3.  ESMTP server can only obtain expired capabilities information
  247.  
  248.   S: 220 gw.cisco.com ESMTP service ready
  249.   C: EHLO wing-pc.cisco.com
  250.   S: 250-gw.cisco.com says hello
  251.   S: 250 CAPABILITIES
  252.   C: MAIL FROM:<dwing@cisco.com>
  253.   S: 250 <dwing@cisco.com> sender okay
  254.   C: RCPT TO:<benefits@cisco.com>
  255.   S: 250-<benefits@cisco.com> recipient ok
  256.   S: 250-Accept: text/*
  257.   S: 250-Accept: application/ms-word, application/powerpoint
  258.   S: 250 ttl=0
  259.   C: DATA
  260.   ...
  261.  
  262.  
  263. 6.  Security Considerations
  264.  
  265. As detailed in [HTTP-NEG], Accept- headers, in particular
  266. Accept-Language headers, may reveal information which the user would
  267. rather keep private.  For this reason it may be desirable to restrict
  268. externally-accessible information on user preferences and capabilities.
  269.  
  270.  
  271. 7.  Acknowledgments
  272.  
  273. This document was produced by work initially started in the Internet Fax
  274.  
  275.  
  276.  
  277. Wing, Joffe              Expires February 1998                  [Page 5]
  278.  
  279. Internet Draft      Capabilities Exchange over ESMTP         August 1997
  280.  
  281.  
  282. Working Group.
  283.  
  284. The authors would like to thank Graham Klyne (Integralis Ltd.) and
  285. Larry Masinter (Xerox PARC) for their contributions to this work.
  286.  
  287.  
  288. 8.  References
  289.  
  290.   [ABNF]
  291.        D. Crocker, P. Overell, "Augmented BNF for Syntax Specifications:
  292.        ABNF", Internet Draft, Work in Progress,
  293.        draft-ietf-drums-abnf-03.txt, July 1997.
  294.  
  295.   [HTTP-NEG]
  296.        K. Holtman, A. Mutz, "Transparent Content Negotiation in HTTP",
  297.        Internet Draft, Work In Progress,
  298.        draft-ietf-http-negotiation-03.txt, July 1997.
  299.  
  300.   [HTTP-HEAD]
  301.        R. Fielding, J. Gettys, J. Mogul, H. Frystyk, T. Berners-Lee,
  302.        "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2068, January
  303.        1997.
  304.  
  305.   [REQ]
  306.        S. Bradner, "Key words for use in RFCs to Indicate Requirement
  307.        Levels", RFC 2119, March 1997.
  308.  
  309.   [RFC821]
  310.        D. Crocker, "Standard for the Format of ARPA Internet Text
  311.        Messages", STD-11, RFC 822, August 1982.
  312.  
  313.   [SMTP-EXT]
  314.        J. Klensin, N. Freed, M. Rose, E. Stefferud, D. Crocker, "SMTP
  315.        Service Extensions", STD-10, RFC 1869, November 1995.
  316.  
  317.   [SMTP-UPD]
  318.        J. Klensin, D. Mann, "Simple Mail Transfer Protocol", Internet
  319.        Draft, Work in Progress, draft-ietf-drums-smtpupd-06.txt, July
  320.        30, 1997.
  321.  
  322.  
  323. 9.  Author's Addresses
  324.  
  325.    Dan Wing
  326.    Cisco Systems, Inc.
  327.    101 Cooper Street
  328.    Santa Cruz, CA 95060  USA
  329.  
  330.  
  331.  
  332.  
  333. Wing, Joffe              Expires February 1998                  [Page 6]
  334.  
  335. Internet Draft      Capabilities Exchange over ESMTP         August 1997
  336.  
  337.  
  338.    Phone: +1 408 457 5200
  339.    Fax:   +1 408 457 5208
  340.    EMail: dwing@cisco.com
  341.  
  342.  
  343.    Neil Joffe
  344.    Cisco Systems, Inc.
  345.    170 West Tasman Drive
  346.    San Jose, CA 95134-1706  USA
  347.  
  348.    Phone: +1 408 526 4000
  349.    Email: njoffe@cisco.com
  350.  
  351.  
  352. X1.  Notes and unresolved issues
  353.  
  354. X1.1.  What is ESMTP server's action if client exceeds capabilities?
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389. Wing, Joffe              Expires February 1998                  [Page 7]
  390.  
  391.