bincimap

Log | Files | Refs | LICENSE

rfc2061.txt (5867B)


      1 
      2 
      3 
      4 
      5 
      6 
      7 Network Working Group                                         M. Crispin
      8 Request for Comments: 2061                      University of Washington
      9 Category: Informational                                    December 1996
     10 
     11 
     12                    IMAP4 COMPATIBILITY WITH IMAP2BIS
     13 
     14 Status of this Memo
     15 
     16    This memo provides information for the Internet community.  This memo
     17    does not specify an Internet standard of any kind.  Distribution of
     18    this memo is unlimited.
     19 
     20 Introduction
     21 
     22    The Internet Message Access Protocol (IMAP) has been through several
     23    revisions and variants in its 10-year history.  Many of these are
     24    either extinct or extremely rare; in particular, several undocumented
     25    variants and the variants described in RFC 1064, RFC 1176, and RFC
     26    1203 fall into this category.
     27 
     28    One variant, IMAP2bis, is at the time of this writing very common and
     29    has been widely distributed with the Pine mailer.  Unfortunately,
     30    there is no definite document describing IMAP2bis.  This document is
     31    intended to be read along with RFC 1176 and the most recent IMAP4
     32    specification (RFC 2060) to assist implementors in creating an IMAP4
     33    implementation to interoperate with implementations that conform to
     34    earlier specifications.  Nothing in this document is required by the
     35    IMAP4 specification; implementors must decide for themselves whether
     36    they want their implementation to fail if it encounters old software.
     37 
     38    At the time of this writing, IMAP4 has been updated from the version
     39    described in RFC 1730.  An implementor who wishes to interoperate
     40    with both RFC 1730 and RFC 2060 should refer to both documents.
     41 
     42    This information is not complete; it reflects current knowledge of
     43    server and client implementations as well as "folklore" acquired in
     44    the evolution of the protocol.  It is NOT a description of how to
     45    interoperate with all variants of IMAP, but rather with the old
     46    variant that is most likely to be encountered.  For detailed
     47    information on interoperating with other old variants, refer to RFC
     48    1732.
     49 
     50 IMAP4 client interoperability with IMAP2bis servers
     51 
     52    A quick way to check whether a server implementation supports the
     53    IMAP4 specification is to try the CAPABILITY command.  An OK response
     54    will indicate which variant(s) of IMAP4 are supported by the server.
     55 
     56 
     57 
     58 Crispin                      Informational                      [Page 1]
     59 
     60 RFC 2061                  IMAP4 Compatibility              December 1996
     61 
     62 
     63    If the client does not find any of its known variant in the response,
     64    it should treat the server as IMAP2bis.  A BAD response indicates an
     65    IMAP2bis or older server.
     66 
     67    Most IMAP4 facilities are in IMAP2bis.  The following exceptions
     68    exist:
     69 
     70    CAPABILITY command
     71             The absense of this command indicates IMAP2bis (or older).
     72 
     73    AUTHENTICATE command.
     74             Use the LOGIN command.
     75 
     76    LSUB, SUBSCRIBE, and UNSUBSCRIBE commands
     77             No direct functional equivalent.  IMAP2bis had a concept
     78             called "bboards" which is not in IMAP4.  RFC 1176 supported
     79             these with the BBOARD and FIND BBOARDS commands.  IMAP2bis
     80             augmented these with the FIND ALL.BBOARDS, SUBSCRIBE BBOARD,
     81             and UNSUBSCRIBE BBOARD commands.  It is recommended that
     82             none of these commands be implemented in new software,
     83             including servers that support old clients.
     84 
     85    LIST command
     86             Use the command FIND ALL.MAILBOXES, which has a similar syn-
     87             tax and response to the FIND MAILBOXES command described in
     88             RFC 1176.  The FIND MAILBOXES command is unlikely to produce
     89             useful information.
     90 
     91    * in a sequence
     92             Use the number of messages in the mailbox from the EXISTS
     93             unsolicited response.
     94 
     95    SEARCH extensions (character set, additional criteria)
     96             Reformulate the search request using only the RFC 1176 syn-
     97             tax.  This may entail doing multiple searches to achieve the
     98             desired results.
     99 
    100    BODYSTRUCTURE fetch data item
    101             Use the non-extensible BODY data item.
    102 
    103    body sections HEADER, TEXT, MIME, HEADER.FIELDS, HEADER.FIELDS.NOT
    104             Use body section numbers only.
    105 
    106    BODY.PEEK[section]
    107             Use BODY[section] and manually clear the \Seen flag as
    108             necessary.
    109 
    110 
    111 
    112 
    113 
    114 Crispin                      Informational                      [Page 2]
    115 
    116 RFC 2061                  IMAP4 Compatibility              December 1996
    117 
    118 
    119    FLAGS.SILENT, +FLAGS.SILENT, and -FLAGS.SILENT store data items
    120             Use the corresponding non-SILENT versions and ignore the
    121             untagged FETCH responses which come back.
    122 
    123    UID fetch data item and the UID commands
    124             No functional equivalent.
    125 
    126    CLOSE command
    127             No functional equivalent.
    128 
    129 
    130    In IMAP2bis, the TRYCREATE special information token is sent as a
    131    separate unsolicited OK response instead of inside the NO response.
    132 
    133    IMAP2bis is ambiguous about whether or not flags or internal dates
    134    are preserved on COPY.  It is impossible to know what behavior is
    135    supported by the server.
    136 
    137 IMAP4 server interoperability with IMAP2bis clients
    138 
    139    The only interoperability problem between an IMAP4 server and a
    140    well-written IMAP2bis client is an incompatibility with the use of
    141    "\" in quoted strings.  This is best avoided by using literals
    142    instead of quoted strings if "\" or <"> is embedded in the string.
    143 
    144 Security Considerations
    145 
    146    Security issues are not discussed in this memo.
    147 
    148 Author's Address
    149 
    150    Mark R. Crispin
    151    Networks and Distributed Computing
    152    University of Washington
    153    4545 15th Aveneue NE
    154    Seattle, WA  98105-4527
    155 
    156    Phone: (206) 543-5762
    157    EMail: MRC@CAC.Washington.EDU
    158 
    159 
    160 
    161 
    162 
    163 
    164 
    165 
    166 
    167 
    168 
    169 
    170 Crispin                      Informational                      [Page 3]
    171