rfc2062.txt
上传用户:ycwykj01
上传日期:2007-01-04
资源大小:1819k
文件大小:14k
源码类别:

网络编程

开发平台:

Unix_Linux

  1. Network Working Group                                         M. Crispin
  2. Request for Comments: 2062                      University of Washington
  3. Category: Informational                                    December 1996
  4.            Internet Message Access Protocol - Obsolete Syntax
  5. Status of this Memo
  6.    This memo provides information for the Internet community.  This memo
  7.    does not specify an Internet standard of any kind.  Distribution of
  8.    this memo is unlimited.
  9. Abstract
  10.    This document describes obsolete syntax which may be encountered by
  11.    IMAP4 implementations which deal with older versions of the Internet
  12.    Mail Access Protocol.  IMAP4 implementations MAY implement this
  13.    syntax in order to maximize interoperability with older
  14.    implementations.
  15.    This document repeats information from earlier documents, most
  16.    notably RFC 1176 and RFC 1730.
  17. Obsolete Commands and Fetch Data Items
  18.    The following commands are OBSOLETE.  It is NOT required to support
  19.    any of these commands or fetch data items in new server
  20.    implementations.  These commands are documented here for the benefit
  21.    of implementors who may wish to support them for compatibility with
  22.    old client implementations.
  23.    The section headings of these commands are intended to correspond
  24.    with where they would be located in the main document if they were
  25.    not obsoleted.
  26. 6.3.OBS.1.      FIND ALL.MAILBOXES Command
  27.    Arguments:  mailbox name with possible wildcards
  28.    Data:       untagged responses: MAILBOX
  29.    Result:     OK - find completed
  30.                NO - find failure: can't list that name
  31.                BAD - command unknown or arguments invalid
  32. Crispin                      Informational                      [Page 1]
  33. RFC 2062                     IMAP4 Obsolete                December 1996
  34.       The FIND ALL.MAILBOXES command returns a subset of names from the
  35.       complete set of all names available to the user.  It returns zero
  36.       or more untagged MAILBOX replies.  The mailbox argument to FIND
  37.       ALL.MAILBOXES is similar to that for LIST with an empty reference,
  38.       except that the characters "%" and "?" match a single character.
  39.    Example:    C: A002 FIND ALL.MAILBOXES *
  40.                S: * MAILBOX blurdybloop
  41.                S: * MAILBOX INBOX
  42.                S: A002 OK FIND ALL.MAILBOXES completed
  43. 6.3.OBS.2.      FIND MAILBOXES Command
  44.    Arguments:  mailbox name with possible wildcards
  45.    Data:       untagged responses: MAILBOX
  46.    Result:     OK - find completed
  47.                NO - find failure: can't list that name
  48.                BAD - command unknown or arguments invalid
  49.       The FIND MAILBOXES command returns a subset of names from the set
  50.       of names that the user has declared as being "active" or
  51.       "subscribed".  It returns zero or more untagged MAILBOX replies.
  52.       The mailbox argument to FIND MAILBOXES is similar to that for LSUB
  53.       with an empty reference, except that the characters "%" and "?"
  54.       match a single character.
  55.    Example:    C: A002 FIND MAILBOXES *
  56.                S: * MAILBOX blurdybloop
  57.                S: * MAILBOX INBOX
  58.                S: A002 OK FIND MAILBOXES completed
  59. 6.3.OBS.3.      SUBSCRIBE MAILBOX Command
  60.    Arguments:  mailbox name
  61.    Data:       no specific data for this command
  62.    Result:     OK - subscribe completed
  63.                NO - subscribe failure: can't subscribe to that name
  64.                BAD - command unknown or arguments invalid
  65.       The SUBSCRIBE MAILBOX command is identical in effect to the
  66.       SUBSCRIBE command.  A server which implements this command must be
  67.       able to distinguish between a SUBSCRIBE MAILBOX command and a
  68.       SUBSCRIBE command with a mailbox name argument of "MAILBOX".
  69. Crispin                      Informational                      [Page 2]
  70. RFC 2062                     IMAP4 Obsolete                December 1996
  71.    Example:    C: A002 SUBSCRIBE MAILBOX #news.comp.mail.mime
  72.                S: A002 OK SUBSCRIBE MAILBOX to #news.comp.mail.mime
  73.                completed
  74.                C: A003 SUBSCRIBE MAILBOX
  75.                S: A003 OK SUBSCRIBE to MAILBOX completed
  76. 6.3.OBS.4.      UNSUBSCRIBE MAILBOX Command
  77.    Arguments:  mailbox name
  78.    Data:       no specific data for this command
  79.    Result:     OK - unsubscribe completed
  80.                NO - unsubscribe failure: can't unsubscribe that name
  81.                BAD - command unknown or arguments invalid
  82.       The UNSUBSCRIBE MAILBOX command is identical in effect to the
  83.       UNSUBSCRIBE command.  A server which implements this command must
  84.       be able to distinguish between a UNSUBSCRIBE MAILBOX command and
  85.       an UNSUBSCRIBE command with a mailbox name argument of "MAILBOX".
  86.    Example:    C: A002 UNSUBSCRIBE MAILBOX #news.comp.mail.mime
  87.                S: A002 OK UNSUBSCRIBE MAILBOX from #news.comp.mail.mime
  88.                completed
  89.                C: A003 UNSUBSCRIBE MAILBOX
  90.                S: A003 OK UNSUBSCRIBE from MAILBOX completed
  91. 6.4.OBS.1       PARTIAL Command
  92.    Arguments:  message sequence number
  93.                message data item name
  94.                position of first octet
  95.                number of octets
  96.    Data:       untagged responses: FETCH
  97.    Result:     OK - partial completed
  98.                NO - partial error: can't fetch that data
  99.                BAD - command unknown or arguments invalid
  100.       The PARTIAL command is equivalent to the associated FETCH command,
  101.       with the added functionality that only the specified number of
  102.       octets, beginning at the specified starting octet, are returned.
  103.       Only a single message can be fetched at a time.  The first octet
  104.       of a message, and hence the minimum for the starting octet, is
  105.       octet 1.
  106. Crispin                      Informational                      [Page 3]
  107. RFC 2062                     IMAP4 Obsolete                December 1996
  108.       The following FETCH items are valid data for PARTIAL: RFC822,
  109.       RFC822.HEADER, RFC822.TEXT, BODY[<section>], as well as any .PEEK
  110.       forms of these.
  111.       Any partial fetch that attempts to read beyond the end of the text
  112.       is truncated as appropriate.  If the starting octet is beyond the
  113.       end of the text, an empty string is returned.
  114.       The data are returned with the FETCH response.  There is no
  115.       indication of the range of the partial data in this response.  It
  116.       is not possible to stream multiple PARTIAL commands of the same
  117.       data item without processing and synchronizing at each step, since
  118.       streamed commands may be executed out of order.
  119.       There is no requirement that partial fetches follow any sequence.
  120.       For example, if a partial fetch of octets 1 through 10000 breaks
  121.       in an awkward place for BASE64 decoding, it is permitted to
  122.       continue with a partial fetch of 9987 through 19987, etc.
  123.       The handling of the Seen flag is the same as in the associated
  124.       FETCH command.
  125.    Example:    C: A005 PARTIAL 4 RFC822 1 1024
  126.                S: * 1 FETCH (RFC822 {1024}
  127.                S: Return-Path: <gray@cac.washington.edu>
  128.                S: ...
  129.                S: .........  FLAGS (Seen))
  130.                S: A005 OK PARTIAL completed
  131. 6.4.5.OBS.1     Obsolete FETCH Data Items
  132.    The following FETCH data items are obsolete:
  133.       BODY[<...>0]   A body part number of 0 is the [RFC-822] header of
  134.                      the message.  BODY[0] is functionally equivalent to
  135.                      BODY[HEADER], differing in the syntax of the
  136.                      resulting untagged FETCH data (BODY[0] is
  137.                      returned).
  138.       RFC822.HEADER.LINES <header_list>
  139.                      Functionally equivalent to BODY.PEEK[HEADER.LINES
  140.                      <header_list>], differing in the syntax of the
  141.                      resulting untagged FETCH data (RFC822.HEADER is
  142.                      returned).
  143. Crispin                      Informational                      [Page 4]
  144. RFC 2062                     IMAP4 Obsolete                December 1996
  145.       RFC822.HEADER.LINES.NOT <header_list>
  146.                      Functionally equivalent to
  147.                      BODY.PEEK[HEADER.LINES.NOT <header_list>],
  148.                      differing in the syntax of the resulting untagged
  149.                      FETCH data (RFC822.HEADER is returned).
  150.       RFC822.PEEK    Functionally equivalent to BODY.PEEK[], except for
  151.                      the syntax of the resulting untagged FETCH data
  152.                      (RFC822 is returned).
  153.       RFC822.TEXT.PEEK
  154.                      Functionally equivalent to BODY.PEEK[TEXT], except
  155.                      for the syntax of the resulting untagged FETCH data
  156.                      (RFC822.TEXT is returned).
  157. Obsolete Responses
  158.    The following responses are OBSOLETE.  Except as noted below, these
  159.    responses MUST NOT be transmitted by new server implementations.
  160.    Client implementations SHOULD accept these responses.
  161.    The section headings of these responses are intended to correspond
  162.    with where they would be located in the main document if they were
  163.    not obsoleted.
  164. 7.2.OBS.1.      MAILBOX Response
  165.    Data:       name
  166.       The MAILBOX response MUST NOT be transmitted by server
  167.       implementations except in response to the obsolete FIND MAILBOXES
  168.       and FIND ALL.MAILBOXES commands.  Client implementations that do
  169.       not use these commands MAY ignore this response.  It is documented
  170.       here for the benefit of implementors who may wish to support it
  171.       for compatibility with old client implementations.
  172.       This response occurs as a result of the FIND MAILBOXES and FIND
  173.       ALL.MAILBOXES commands.  It returns a single name that matches the
  174.       FIND specification.  There are no attributes or hierarchy
  175.       delimiter.
  176.    Example:    S: * MAILBOX blurdybloop
  177. Crispin                      Informational                      [Page 5]
  178. RFC 2062                     IMAP4 Obsolete                December 1996
  179. 7.3.OBS.1.      COPY Response
  180.    Data:       none
  181.       The COPY response MUST NOT be transmitted by new server
  182.       implementations.  Client implementations MUST ignore the COPY
  183.       response.  It is documented here for the benefit of client
  184.       implementors who may encounter this response from old server
  185.       implementations.
  186.       In some experimental versions of this protocol, this response was
  187.       returned in response to a COPY command to indicate on a
  188.       per-message basis that the message was copied successfully.
  189.    Example:    S: * 44 COPY
  190. 7.3.OBS.2.      STORE Response
  191.    Data:       message data
  192.       The STORE response MUST NOT be transmitted by new server
  193.       implementations.  Client implementations MUST treat the STORE
  194.       response as equivalent to the FETCH response.  It is documented
  195.       here for the benefit of client implementors who may encounter this
  196.       response from old server implementations.
  197.       In some experimental versions of this protocol, this response was
  198.       returned instead of FETCH in response to a STORE command to report
  199.       the new value of the flags.
  200.    Example:    S: * 69 STORE (FLAGS (Deleted))
  201. Formal Syntax of Obsolete Commands and Responses
  202.    Each obsolete syntax rule that is suffixed with "_old" is added to
  203.    the corresponding name in the formal syntax.  For example,
  204.    command_auth_old adds the FIND command to command_auth.
  205.    command_auth_old ::= find
  206.    command_select_old
  207.                    ::= partial
  208.    date_year_old   ::= 2digit
  209.                        ;; (year - 1900)
  210.    date_time_old   ::= <"> date_day_fixed "-" date_month "-" date_year
  211.                        SPACE time "-" zone_name <">
  212. Crispin                      Informational                      [Page 6]
  213. RFC 2062                     IMAP4 Obsolete                December 1996
  214.    find            ::= "FIND" SPACE ["ALL."] "MAILBOXES" SPACE
  215.                        list_mailbox
  216.    fetch_att_old   ::= "RFC822.HEADER.LINES" [".NOT"] SPACE header_list /
  217.                        fetch_text_old
  218.    fetch_text_old  ::= "BODY" [".PEEK"] section_old /
  219.                        "RFC822" [".HEADER" / ".TEXT" [".PEEK"]]
  220.    msg_data_old    ::= "COPY" / ("STORE" SPACE msg_att)
  221.    partial         ::= "PARTIAL" SPACE nz_number SPACE fetch_text_old SPACE
  222.                        number SPACE number
  223.    section_old     ::= "[" (number ["." number]) "]"
  224.    subscribe_old   ::= "SUBSCRIBE" SPACE "MAILBOX" SPACE mailbox
  225.    unsubscribe_old ::= "UNSUBSCRIBE" SPACE "MAILBOX" SPACE mailbox
  226.    zone_name       ::= "UT" / "GMT" / "Z" /                ;; +0000
  227.                        "AST" / "EDT" /                     ;; -0400
  228.                        "EST" / "CDT" /                     ;; -0500
  229.                        "CST" / "MDT" /                     ;; -0600
  230.                        "MST" / "PDT" /                     ;; -0700
  231.                        "PST" / "YDT" /                     ;; -0800
  232.                        "YST" / "HDT" /                     ;; -0900
  233.                        "HST" / "BDT" /                     ;; -1000
  234.                        "BST" /                             ;; -1100
  235.                        "A" / "B" / "C" / "D" / "E" / "F" / ;; +1 to +6
  236.                        "G" / "H" / "I" / "K" / "L" / "M" / ;; +7 to +12
  237.                        "N" / "O" / "P" / "Q" / "R" / "S" / ;; -1 to -6
  238.                        "T" / "U" / "V" / "W" / "X" / "Y"   ;; -7 to -12
  239. Security Considerations
  240.    Security issues are not discussed in this memo.
  241. Crispin                      Informational                      [Page 7]
  242. RFC 2062                     IMAP4 Obsolete                December 1996
  243. Author's Address
  244.    Mark R. Crispin
  245.    Networks and Distributed Computing
  246.    University of Washington
  247.    4545 15th Aveneue NE
  248.    Seattle, WA  98105-4527
  249.    Phone: (206) 543-5762
  250.    EMail: MRC@CAC.Washington.EDU
  251. Crispin                      Informational                      [Page 8]