Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions Doc/library/imaplib.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
This module defines three classes, :class:`IMAP4`, :class:`IMAP4_SSL` and
:class:`IMAP4_stream`, which encapsulate a connection to an IMAP4 server and
implement a large subset of the IMAP4rev1 client protocol as defined in
:rfc:`2060`. It is backward compatible with IMAP4 (:rfc:`1730`) servers, but
:rfc:`3501`. It is backward compatible with IMAP4 (:rfc:`1730`) servers, but
note that the ``STATUS`` command is not supported in IMAP4.

.. include:: ../includes/wasm-notavail.rst
Expand Down Expand Up @@ -630,7 +630,7 @@ An :class:`IMAP4` instance has the following methods:
.. method:: IMAP4.store(message_set, command, flag_list)

Alters flag dispositions for messages in mailbox. *command* is specified by
section 6.4.6 of :rfc:`2060` as being one of "FLAGS", "+FLAGS", or "-FLAGS",
section 6.4.6 of :rfc:`3501` as being one of "FLAGS", "+FLAGS", or "-FLAGS",
optionally with a suffix of ".SILENT".

For example, to set the delete flag on all messages::
Expand All @@ -644,11 +644,11 @@ An :class:`IMAP4` instance has the following methods:

Creating flags containing ']' (for example: "[test]") violates
:rfc:`3501` (the IMAP protocol). However, imaplib has historically
allowed creation of such tags, and popular IMAP servers, such as Gmail,
allowed creation of such flags, and popular IMAP servers, such as Gmail,
accept and produce such flags. There are non-Python programs which also
create such tags. Although it is an RFC violation and IMAP clients and
create such flags. Although it is an RFC violation and IMAP clients and
servers are supposed to be strict, imaplib still continues to allow
such tags to be created for backward compatibility reasons, and as of
such flags to be created for backward compatibility reasons, and as of
Python 3.6, handles them if they are sent from the server, since this
improves real-world compatibility.

Expand Down
6 changes: 3 additions & 3 deletions Lib/imaplib.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""IMAP4 client.

Based on RFC 2060.
Based on RFC 3501.

Public class: IMAP4
Public variable: Debug
Expand Down Expand Up @@ -43,8 +43,8 @@
AllowedVersions = ('IMAP4REV1', 'IMAP4') # Most recent first

# Maximal line length when calling readline(). This is to prevent
# reading arbitrary length lines. RFC 3501 and 2060 (IMAP 4rev1)
# don't specify a line length. RFC 2683 suggests limiting client
# reading arbitrary length lines. RFC 3501 (IMAP 4rev1)
# doesn't specify a line length. RFC 2683 suggests limiting client
# command lines to 1000 octets and that servers should be prepared
# to accept command lines up to 8000 octets, so we used to use 10K here.
# In the modern world (eg: gmail) the response to, for example, a
Expand Down
4 changes: 2 additions & 2 deletions Lib/test/test_imaplib.py
Original file line number Diff line number Diff line change
Expand Up @@ -1895,8 +1895,8 @@ def test_connect(self):
@threading_helper.reap_threads
def test_bracket_flags(self):

# This violates RFC 3501, which disallows ']' characters in tag names,
# but imaplib has allowed producing such tags forever, other programs
# This violates RFC 3501, which disallows ']' characters in flags,
# but imaplib has allowed producing such flags forever, other programs
# also produce them (eg: OtherInbox's Organizer app as of 20140716),
# and Gmail, for example, accepts them and produces them. So we
# support them. See issue #21815.
Expand Down
Loading