MIME processing of mail messages
================================
Mimification and unmimification of mail messages.
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(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.
`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.
`mime_decode_header(line)'
Return a decoded version of the encoded header line in LINE.
`mime_encode_header(line)'
Return a MIME-encoded version of the header line in LINE.
`MAXLEN'
By default, a part will be encoded as quoted-printable when it
contains any non-ASCII characters (i.e., characters with the 8th
bit set), or if there are any lines longer than `MAXLEN' characters
(default value 200).
`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:
Note:quopri Encode and decode MIME quoted-printable files.