UserString.MutableString has been removed in Python 3.0.
[python.git] / Doc / library / mimify.rst
blobda0eaccfbe10ae7a06675d21e20d9426f5877193
2 :mod:`mimify` --- MIME processing of mail messages
3 ==================================================
5 .. module:: mimify
6    :synopsis: Mimification and unmimification of mail messages.
7    :deprecated:
10 .. deprecated:: 2.3
11    The :mod:`email` package should be used in preference to the :mod:`mimify`
12    module.  This module is present only to maintain backward compatibility.
14 The :mod:`mimify` module defines two functions to convert mail messages to and
15 from MIME format.  The mail message can be either a simple message or a
16 so-called multipart message.  Each part is treated separately. Mimifying (a part
17 of) a message entails encoding the message as quoted-printable if it contains
18 any characters that cannot be represented using 7-bit ASCII.  Unmimifying (a
19 part of) a message entails undoing the quoted-printable encoding.  Mimify and
20 unmimify are especially useful when a message has to be edited before being
21 sent.  Typical use would be::
23    unmimify message
24    edit message
25    mimify message
26    send message
28 The modules defines the following user-callable functions and user-settable
29 variables:
32 .. function:: mimify(infile, outfile)
34    Copy the message in *infile* to *outfile*, converting parts to quoted-printable
35    and adding MIME mail headers when necessary. *infile* and *outfile* can be file
36    objects (actually, any object that has a :meth:`readline` method (for *infile*)
37    or a :meth:`write` method (for *outfile*)) or strings naming the files. If
38    *infile* and *outfile* are both strings, they may have the same value.
41 .. function:: unmimify(infile, outfile[, decode_base64])
43    Copy the message in *infile* to *outfile*, decoding all quoted-printable parts.
44    *infile* and *outfile* can be file objects (actually, any object that has a
45    :meth:`readline` method (for *infile*) or a :meth:`write` method (for
46    *outfile*)) or strings naming the files.  If *infile* and *outfile* are both
47    strings, they may have the same value. If the *decode_base64* argument is
48    provided and tests true, any parts that are coded in the base64 encoding are
49    decoded as well.
52 .. function:: mime_decode_header(line)
54    Return a decoded version of the encoded header line in *line*. This only
55    supports the ISO 8859-1 charset (Latin-1).
58 .. function:: mime_encode_header(line)
60    Return a MIME-encoded version of the header line in *line*.
63 .. data:: MAXLEN
65    By default, a part will be encoded as quoted-printable when it contains any
66    non-ASCII characters (characters with the 8th bit set), or if there are any
67    lines longer than :const:`MAXLEN` characters (default value 200).
70 .. data:: CHARSET
72    When not specified in the mail headers, a character set must be filled in.  The
73    string used is stored in :const:`CHARSET`, and the default value is ISO-8859-1
74    (also known as Latin1 (latin-one)).
76 This module can also be used from the command line.  Usage is as follows::
78    mimify.py -e [-l length] [infile [outfile]]
79    mimify.py -d [-b] [infile [outfile]]
81 to encode (mimify) and decode (unmimify) respectively.  *infile* defaults to
82 standard input, *outfile* defaults to standard output. The same file can be
83 specified for input and output.
85 If the **-l** option is given when encoding, if there are any lines longer than
86 the specified *length*, the containing part will be encoded.
88 If the **-b** option is given when decoding, any base64 parts will be decoded as
89 well.
92 .. seealso::
94    Module :mod:`quopri`
95       Encode and decode MIME quoted-printable files.