# 11.13 Standard Module `mimetools`

This module defines a subclass of the class `rfc822.Message` and a number of utility functions that are useful for the manipulation for MIME style multipart or encoded message.

It defines the following items:

`Message` (fp)
  Return a new instance of the `mimetools.Message` class. This is a subclass of the `rfc822.Message` class, with some additional methods (see below).

`choose_boundary` ()
  Return a unique string that has a high likelihood of being usable as a part boundary. The string has the form `"hostipaddr.uid.pid.timestamp.random"`.

`decode` (input, output, encoding)
  Read data encoded using the allowed MIME encoding from open file object input and write the decoded data to open file object output. Valid values for encoding include `"base64"`, `"quoted-printable"` and `"uuencode"`.

`encode` (input, output, encoding)
  Read data from open file object input and write it encoded using the allowed MIME encoding to open file object output. Valid values for encoding are the same as for `decode()`.

`copyliteral` (input, output)
  Read lines until EOF from open file input and write them to open file output.

`copybinary` (input, output)
  Read blocks until EOF from open file input and write them to open file output. The block size is currently fixed at 8192.

- 11.13.1 Additional Methods of Message objects