imapext-2007

view docs/rfc/rfc2062.txt @ 0:ada5e610ab86

imap-2007e
author yuuji@gentei.org
date Mon, 14 Sep 2009 15:17:45 +0900
parents
children
line source
7 Network Working Group M. Crispin
8 Request for Comments: 2062 University of Washington
9 Category: Informational December 1996
12 Internet Message Access Protocol - Obsolete Syntax
14 Status of this Memo
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.
20 Abstract
22 This document describes obsolete syntax which may be encountered by
23 IMAP4 implementations which deal with older versions of the Internet
24 Mail Access Protocol. IMAP4 implementations MAY implement this
25 syntax in order to maximize interoperability with older
26 implementations.
28 This document repeats information from earlier documents, most
29 notably RFC 1176 and RFC 1730.
31 Obsolete Commands and Fetch Data Items
33 The following commands are OBSOLETE. It is NOT required to support
34 any of these commands or fetch data items in new server
35 implementations. These commands are documented here for the benefit
36 of implementors who may wish to support them for compatibility with
37 old client implementations.
39 The section headings of these commands are intended to correspond
40 with where they would be located in the main document if they were
41 not obsoleted.
43 6.3.OBS.1. FIND ALL.MAILBOXES Command
45 Arguments: mailbox name with possible wildcards
47 Data: untagged responses: MAILBOX
49 Result: OK - find completed
50 NO - find failure: can't list that name
51 BAD - command unknown or arguments invalid
58 Crispin Informational [Page 1]
60 RFC 2062 IMAP4 Obsolete December 1996
63 The FIND ALL.MAILBOXES command returns a subset of names from the
64 complete set of all names available to the user. It returns zero
65 or more untagged MAILBOX replies. The mailbox argument to FIND
66 ALL.MAILBOXES is similar to that for LIST with an empty reference,
67 except that the characters "%" and "?" match a single character.
69 Example: C: A002 FIND ALL.MAILBOXES *
70 S: * MAILBOX blurdybloop
71 S: * MAILBOX INBOX
72 S: A002 OK FIND ALL.MAILBOXES completed
74 6.3.OBS.2. FIND MAILBOXES Command
76 Arguments: mailbox name with possible wildcards
78 Data: untagged responses: MAILBOX
80 Result: OK - find completed
81 NO - find failure: can't list that name
82 BAD - command unknown or arguments invalid
84 The FIND MAILBOXES command returns a subset of names from the set
85 of names that the user has declared as being "active" or
86 "subscribed". It returns zero or more untagged MAILBOX replies.
87 The mailbox argument to FIND MAILBOXES is similar to that for LSUB
88 with an empty reference, except that the characters "%" and "?"
89 match a single character.
91 Example: C: A002 FIND MAILBOXES *
92 S: * MAILBOX blurdybloop
93 S: * MAILBOX INBOX
94 S: A002 OK FIND MAILBOXES completed
96 6.3.OBS.3. SUBSCRIBE MAILBOX Command
98 Arguments: mailbox name
100 Data: no specific data for this command
102 Result: OK - subscribe completed
103 NO - subscribe failure: can't subscribe to that name
104 BAD - command unknown or arguments invalid
106 The SUBSCRIBE MAILBOX command is identical in effect to the
107 SUBSCRIBE command. A server which implements this command must be
108 able to distinguish between a SUBSCRIBE MAILBOX command and a
109 SUBSCRIBE command with a mailbox name argument of "MAILBOX".
114 Crispin Informational [Page 2]
116 RFC 2062 IMAP4 Obsolete December 1996
119 Example: C: A002 SUBSCRIBE MAILBOX #news.comp.mail.mime
120 S: A002 OK SUBSCRIBE MAILBOX to #news.comp.mail.mime
121 completed
122 C: A003 SUBSCRIBE MAILBOX
123 S: A003 OK SUBSCRIBE to MAILBOX completed
126 6.3.OBS.4. UNSUBSCRIBE MAILBOX Command
128 Arguments: mailbox name
130 Data: no specific data for this command
132 Result: OK - unsubscribe completed
133 NO - unsubscribe failure: can't unsubscribe that name
134 BAD - command unknown or arguments invalid
136 The UNSUBSCRIBE MAILBOX command is identical in effect to the
137 UNSUBSCRIBE command. A server which implements this command must
138 be able to distinguish between a UNSUBSCRIBE MAILBOX command and
139 an UNSUBSCRIBE command with a mailbox name argument of "MAILBOX".
141 Example: C: A002 UNSUBSCRIBE MAILBOX #news.comp.mail.mime
142 S: A002 OK UNSUBSCRIBE MAILBOX from #news.comp.mail.mime
143 completed
144 C: A003 UNSUBSCRIBE MAILBOX
145 S: A003 OK UNSUBSCRIBE from MAILBOX completed
147 6.4.OBS.1 PARTIAL Command
149 Arguments: message sequence number
150 message data item name
151 position of first octet
152 number of octets
154 Data: untagged responses: FETCH
156 Result: OK - partial completed
157 NO - partial error: can't fetch that data
158 BAD - command unknown or arguments invalid
160 The PARTIAL command is equivalent to the associated FETCH command,
161 with the added functionality that only the specified number of
162 octets, beginning at the specified starting octet, are returned.
163 Only a single message can be fetched at a time. The first octet
164 of a message, and hence the minimum for the starting octet, is
165 octet 1.
170 Crispin Informational [Page 3]
172 RFC 2062 IMAP4 Obsolete December 1996
175 The following FETCH items are valid data for PARTIAL: RFC822,
176 RFC822.HEADER, RFC822.TEXT, BODY[<section>], as well as any .PEEK
177 forms of these.
179 Any partial fetch that attempts to read beyond the end of the text
180 is truncated as appropriate. If the starting octet is beyond the
181 end of the text, an empty string is returned.
183 The data are returned with the FETCH response. There is no
184 indication of the range of the partial data in this response. It
185 is not possible to stream multiple PARTIAL commands of the same
186 data item without processing and synchronizing at each step, since
187 streamed commands may be executed out of order.
189 There is no requirement that partial fetches follow any sequence.
190 For example, if a partial fetch of octets 1 through 10000 breaks
191 in an awkward place for BASE64 decoding, it is permitted to
192 continue with a partial fetch of 9987 through 19987, etc.
194 The handling of the \Seen flag is the same as in the associated
195 FETCH command.
197 Example: C: A005 PARTIAL 4 RFC822 1 1024
198 S: * 1 FETCH (RFC822 {1024}
199 S: Return-Path: <gray@cac.washington.edu>
200 S: ...
201 S: ......... FLAGS (\Seen))
202 S: A005 OK PARTIAL completed
204 6.4.5.OBS.1 Obsolete FETCH Data Items
206 The following FETCH data items are obsolete:
208 BODY[<...>0] A body part number of 0 is the [RFC-822] header of
209 the message. BODY[0] is functionally equivalent to
210 BODY[HEADER], differing in the syntax of the
211 resulting untagged FETCH data (BODY[0] is
212 returned).
214 RFC822.HEADER.LINES <header_list>
215 Functionally equivalent to BODY.PEEK[HEADER.LINES
216 <header_list>], differing in the syntax of the
217 resulting untagged FETCH data (RFC822.HEADER is
218 returned).
226 Crispin Informational [Page 4]
228 RFC 2062 IMAP4 Obsolete December 1996
231 RFC822.HEADER.LINES.NOT <header_list>
232 Functionally equivalent to
233 BODY.PEEK[HEADER.LINES.NOT <header_list>],
234 differing in the syntax of the resulting untagged
235 FETCH data (RFC822.HEADER is returned).
237 RFC822.PEEK Functionally equivalent to BODY.PEEK[], except for
238 the syntax of the resulting untagged FETCH data
239 (RFC822 is returned).
241 RFC822.TEXT.PEEK
242 Functionally equivalent to BODY.PEEK[TEXT], except
243 for the syntax of the resulting untagged FETCH data
244 (RFC822.TEXT is returned).
246 Obsolete Responses
248 The following responses are OBSOLETE. Except as noted below, these
249 responses MUST NOT be transmitted by new server implementations.
250 Client implementations SHOULD accept these responses.
252 The section headings of these responses are intended to correspond
253 with where they would be located in the main document if they were
254 not obsoleted.
256 7.2.OBS.1. MAILBOX Response
258 Data: name
260 The MAILBOX response MUST NOT be transmitted by server
261 implementations except in response to the obsolete FIND MAILBOXES
262 and FIND ALL.MAILBOXES commands. Client implementations that do
263 not use these commands MAY ignore this response. It is documented
264 here for the benefit of implementors who may wish to support it
265 for compatibility with old client implementations.
267 This response occurs as a result of the FIND MAILBOXES and FIND
268 ALL.MAILBOXES commands. It returns a single name that matches the
269 FIND specification. There are no attributes or hierarchy
270 delimiter.
272 Example: S: * MAILBOX blurdybloop
282 Crispin Informational [Page 5]
284 RFC 2062 IMAP4 Obsolete December 1996
287 7.3.OBS.1. COPY Response
289 Data: none
291 The COPY response MUST NOT be transmitted by new server
292 implementations. Client implementations MUST ignore the COPY
293 response. It is documented here for the benefit of client
294 implementors who may encounter this response from old server
295 implementations.
297 In some experimental versions of this protocol, this response was
298 returned in response to a COPY command to indicate on a
299 per-message basis that the message was copied successfully.
301 Example: S: * 44 COPY
303 7.3.OBS.2. STORE Response
305 Data: message data
307 The STORE response MUST NOT be transmitted by new server
308 implementations. Client implementations MUST treat the STORE
309 response as equivalent to the FETCH response. It is documented
310 here for the benefit of client implementors who may encounter this
311 response from old server implementations.
313 In some experimental versions of this protocol, this response was
314 returned instead of FETCH in response to a STORE command to report
315 the new value of the flags.
317 Example: S: * 69 STORE (FLAGS (\Deleted))
319 Formal Syntax of Obsolete Commands and Responses
321 Each obsolete syntax rule that is suffixed with "_old" is added to
322 the corresponding name in the formal syntax. For example,
323 command_auth_old adds the FIND command to command_auth.
325 command_auth_old ::= find
327 command_select_old
328 ::= partial
330 date_year_old ::= 2digit
331 ;; (year - 1900)
333 date_time_old ::= <"> date_day_fixed "-" date_month "-" date_year
334 SPACE time "-" zone_name <">
338 Crispin Informational [Page 6]
340 RFC 2062 IMAP4 Obsolete December 1996
343 find ::= "FIND" SPACE ["ALL."] "MAILBOXES" SPACE
344 list_mailbox
346 fetch_att_old ::= "RFC822.HEADER.LINES" [".NOT"] SPACE header_list /
347 fetch_text_old
349 fetch_text_old ::= "BODY" [".PEEK"] section_old /
350 "RFC822" [".HEADER" / ".TEXT" [".PEEK"]]
352 msg_data_old ::= "COPY" / ("STORE" SPACE msg_att)
354 partial ::= "PARTIAL" SPACE nz_number SPACE fetch_text_old SPACE
355 number SPACE number
357 section_old ::= "[" (number ["." number]) "]"
359 subscribe_old ::= "SUBSCRIBE" SPACE "MAILBOX" SPACE mailbox
361 unsubscribe_old ::= "UNSUBSCRIBE" SPACE "MAILBOX" SPACE mailbox
363 zone_name ::= "UT" / "GMT" / "Z" / ;; +0000
364 "AST" / "EDT" / ;; -0400
365 "EST" / "CDT" / ;; -0500
366 "CST" / "MDT" / ;; -0600
367 "MST" / "PDT" / ;; -0700
368 "PST" / "YDT" / ;; -0800
369 "YST" / "HDT" / ;; -0900
370 "HST" / "BDT" / ;; -1000
371 "BST" / ;; -1100
372 "A" / "B" / "C" / "D" / "E" / "F" / ;; +1 to +6
373 "G" / "H" / "I" / "K" / "L" / "M" / ;; +7 to +12
374 "N" / "O" / "P" / "Q" / "R" / "S" / ;; -1 to -6
375 "T" / "U" / "V" / "W" / "X" / "Y" ;; -7 to -12
377 Security Considerations
379 Security issues are not discussed in this memo.
394 Crispin Informational [Page 7]
396 RFC 2062 IMAP4 Obsolete December 1996
399 Author's Address
401 Mark R. Crispin
402 Networks and Distributed Computing
403 University of Washington
404 4545 15th Aveneue NE
405 Seattle, WA 98105-4527
407 Phone: (206) 543-5762
408 EMail: MRC@CAC.Washington.EDU
450 Crispin Informational [Page 8]

UW-IMAP'd extensions by yuuji