diff --git a/Doc/library/email.rst b/Doc/library/email.rst
index 72fb31d..a8cb8d7 100644
--- a/Doc/library/email.rst
+++ b/Doc/library/email.rst
@@ -10,15 +10,12 @@
 
 
 The :mod:`email` package is a library for managing email messages, including
-MIME and other :rfc:`2822`\ -based message documents.  It subsumes most of the
-functionality in several older standard modules such as :mod:`rfc822`,
-:mod:`mimetools`, :mod:`multifile`, and other non-standard packages such as
-:mod:`mimecntl`.  It is specifically *not* designed to do any sending of email
-messages to SMTP (:rfc:`2821`), NNTP, or other servers; those are functions of
-modules such as :mod:`smtplib` and :mod:`nntplib`. The :mod:`email` package
-attempts to be as RFC-compliant as possible, supporting in addition to
-:rfc:`2822`, such MIME-related RFCs as :rfc:`2045`, :rfc:`2046`, :rfc:`2047`,
-and :rfc:`2231`.
+MIME and other :rfc:`2822`\ -based message documents.  It is specifically *not*
+designed to do any sending of email messages to SMTP (:rfc:`2821`), NNTP, or
+other servers; those are functions of modules such as :mod:`smtplib` and
+:mod:`nntplib`. The :mod:`email` package attempts to be as RFC-compliant as
+possible, supporting in addition to :rfc:`2822`, such MIME-related RFCs as
+:rfc:`2045`, :rfc:`2046`, :rfc:`2047`, and :rfc:`2231`.
 
 The primary distinguishing feature of the :mod:`email` package is that it splits
 the parsing and generating of email messages from the internal *object model*
diff --git a/Doc/library/http.client.rst b/Doc/library/http.client.rst
index 9c89563..8138467 100644
--- a/Doc/library/http.client.rst
+++ b/Doc/library/http.client.rst
@@ -445,7 +445,7 @@
 
 .. attribute:: HTTPResponse.msg
 
-   A :class:`mimetools.Message` instance containing the response headers.
+   An :class:`email.message.Message` instance containing the response headers.
 
 
 .. attribute:: HTTPResponse.version
diff --git a/Doc/library/http.cookiejar.rst b/Doc/library/http.cookiejar.rst
index 250abde..f8ffb82 100644
--- a/Doc/library/http.cookiejar.rst
+++ b/Doc/library/http.cookiejar.rst
@@ -165,10 +165,9 @@
    :mailheader:`Set-Cookie2` headers in the *response* argument, and store cookies
    as appropriate (subject to the :meth:`CookiePolicy.set_ok` method's approval).
 
-   The *response* object (usually the result of a call to :meth:`urllib2.urlopen`,
-   or similar) should support an :meth:`info` method, which returns an object with
-   a :meth:`getallmatchingheaders` method (usually a :class:`mimetools.Message`
-   instance).
+   The *response* object (usually the result of a call to
+   :meth:`urllib2.urlopen`, or similar) should support an :meth:`info` method,
+   which returns a :class:`email.message.Message` instance.
 
    The *request* object (usually a :class:`urllib2.Request` instance) must support
    the methods :meth:`get_full_url`, :meth:`get_host`, :meth:`unverifiable`, and
diff --git a/Doc/library/http.server.rst b/Doc/library/http.server.rst
index 941f043..f025b25 100644
--- a/Doc/library/http.server.rst
+++ b/Doc/library/http.server.rst
@@ -124,11 +124,9 @@
 
    .. attribute:: MessageClass
 
-      .. index:: single: Message (in module mimetools)
-
-      Specifies a :class:`rfc822.Message`\ -like class to parse HTTP headers.
-      Typically, this is not overridden, and it defaults to
-      :class:`mimetools.Message`.
+      Specifies an :class:`email.message.Message`\ -like class to parse HTTP
+      headers.  Typically, this is not overridden, and it defaults to
+      :class:`http.client.HTTPMessage`.
 
    .. attribute:: responses
 
diff --git a/Doc/library/rfc822.rst b/Doc/library/rfc822.rst
index bd8c9a2..2b0ca30 100644
--- a/Doc/library/rfc822.rst
+++ b/Doc/library/rfc822.rst
@@ -132,9 +132,6 @@
    Module :mod:`mailbox`
       Classes to read various mailbox formats produced  by end-user mail programs.
 
-   Module :mod:`mimetools`
-      Subclass of :class:`rfc822.Message` that handles MIME encoded messages.
-
 
 .. _message-objects:
 
diff --git a/Doc/library/urllib.rst b/Doc/library/urllib.rst
index 646b048..3435e55 100644
--- a/Doc/library/urllib.rst
+++ b/Doc/library/urllib.rst
@@ -39,19 +39,17 @@
    however, so it can't be used at those few places where a true built-in file
    object is required.)
 
-   .. index:: module: mimetools
-
    The :meth:`info` method returns an instance of the class
-   :class:`mimetools.Message` containing meta-information associated with the
-   URL.  When the method is HTTP, these headers are those returned by the server
-   at the head of the retrieved HTML page (including Content-Length and
+   :class:`email.message.Message` containing meta-information associated with
+   the URL.  When the method is HTTP, these headers are those returned by the
+   server at the head of the retrieved HTML page (including Content-Length and
    Content-Type).  When the method is FTP, a Content-Length header will be
    present if (as is now usual) the server passed back a file length in response
    to the FTP retrieval request. A Content-Type header will be present if the
    MIME type can be guessed.  When the method is local-file, returned headers
    will include a Date representing the file's last-modified time, a
    Content-Length giving file size, and a Content-Type containing a guess at the
-   file's type. See also the description of the :mod:`mimetools` module.
+   file's type.
 
    The :meth:`geturl` method returns the real URL of the page.  In some cases, the
    HTTP server redirects a client to another URL.  The :func:`urlopen` function
@@ -288,7 +286,7 @@
 
        Retrieves the contents of *url* and places it in *filename*.  The return value
        is a tuple consisting of a local filename and either a
-       :class:`mimetools.Message` object containing the response headers (for remote
+       :class:`email.message.Message` object containing the response headers (for remote
        URLs) or ``None`` (for local URLs).  The caller must then open and read the
        contents of *filename*.  If *filename* is not given and the URL refers to a
        local file, the input filename is returned.  If the URL is non-local and
