
``mimify`` --- MIME processing of mail messages
***********************************************

Deprecated since version 2.3: The ``email`` package should be used in
preference to the ``mimify`` module.  This module is present only to
maintain backward compatibility.

The ``mimify`` module defines two functions to convert mail messages
to and from MIME format.  The mail message can be either a simple
message or a so-called multipart message.  Each part is treated
separately. Mimifying (a part of) a message entails encoding the
message as quoted-printable if it contains any characters that cannot
be represented using 7-bit ASCII.  Unmimifying (a part of) a message
entails undoing the quoted-printable encoding.  Mimify and unmimify
are especially useful when a message has to be edited before being
sent.  Typical use would be:

   unmimify message
   edit message
   mimify message
   send message

The modules defines the following user-callable functions and user-
settable variables:

mimify.mimify(infile, outfile)

   Copy the message in *infile* to *outfile*, converting parts to
   quoted-printable and adding MIME mail headers when necessary.
   *infile* and *outfile* can be file objects (actually, any object
   that has a ``readline()`` method (for *infile*) or a ``write()``
   method (for *outfile*)) or strings naming the files. If *infile*
   and *outfile* are both strings, they may have the same value.

mimify.unmimify(infile, outfile[, decode_base64])

   Copy the message in *infile* to *outfile*, decoding all quoted-
   printable parts. *infile* and *outfile* can be file objects
   (actually, any object that has a ``readline()`` method (for
   *infile*) or a ``write()`` method (for *outfile*)) or strings
   naming the files.  If *infile* and *outfile* are both strings, they
   may have the same value. If the *decode_base64* argument is
   provided and tests true, any parts that are coded in the base64
   encoding are decoded as well.

mimify.mime_decode_header(line)

   Return a decoded version of the encoded header line in *line*. This
   only supports the ISO 8859-1 charset (Latin-1).

mimify.mime_encode_header(line)

   Return a MIME-encoded version of the header line in *line*.

mimify.MAXLEN

   By default, a part will be encoded as quoted-printable when it
   contains any non-ASCII characters (characters with the 8th bit
   set), or if there are any lines longer than ``MAXLEN`` characters
   (default value 200).

mimify.CHARSET

   When not specified in the mail headers, a character set must be
   filled in.  The string used is stored in ``CHARSET``, and the
   default value is ISO-8859-1 (also known as Latin1 (latin-one)).

This module can also be used from the command line.  Usage is as
follows:

   mimify.py -e [-l length] [infile [outfile]]
   mimify.py -d [-b] [infile [outfile]]

to encode (mimify) and decode (unmimify) respectively.  *infile*
defaults to standard input, *outfile* defaults to standard output. The
same file can be specified for input and output.

If the **-l** option is given when encoding, if there are any lines
longer than the specified *length*, the containing part will be
encoded.

If the **-b** option is given when decoding, any base64 parts will be
decoded as well.

See also:

   Module ``quopri``
      Encode and decode MIME quoted-printable files.
