Added 'list_only' option (and modified 'run()' to respect it).
[python/dscho.git] / Doc / lib / libmimify.tex
bloba33d428daa017d96093b8119618039aa1706c4af
1 \section{\module{mimify} ---
2 MIME processing of mail messages}
4 \declaremodule{standard}{mimify}
5 \modulesynopsis{Mimification and unmimification of mail messages.}
8 The mimify module defines two functions to convert mail messages to
9 and from MIME format. The mail message can be either a simple message
10 or a so-called multipart message. Each part is treated separately.
11 Mimifying (a part of) a message entails encoding the message as
12 quoted-printable if it contains any characters that cannot be
13 represented using 7-bit \ASCII. Unmimifying (a part of) a message
14 entails undoing the quoted-printable encoding. Mimify and unmimify
15 are especially useful when a message has to be edited before being
16 sent. Typical use would be:
18 \begin{verbatim}
19 unmimify message
20 edit message
21 mimify message
22 send message
23 \end{verbatim}
25 The modules defines the following user-callable functions and
26 user-settable variables:
28 \begin{funcdesc}{mimify}{infile, outfile}
29 Copy the message in \var{infile} to \var{outfile}, converting parts to
30 quoted-printable and adding MIME mail headers when necessary.
31 \var{infile} and \var{outfile} can be file objects (actually, any
32 object that has a \method{readline()} method (for \var{infile}) or a
33 \method{write()} method (for \var{outfile})) or strings naming the files.
34 If \var{infile} and \var{outfile} are both strings, they may have the
35 same value.
36 \end{funcdesc}
38 \begin{funcdesc}{unmimify}{infile, outfile\optional{, decode_base64}}
39 Copy the message in \var{infile} to \var{outfile}, decoding all
40 quoted-printable parts. \var{infile} and \var{outfile} can be file
41 objects (actually, any object that has a \method{readline()} method (for
42 \var{infile}) or a \method{write()} method (for \var{outfile})) or strings
43 naming the files. If \var{infile} and \var{outfile} are both strings,
44 they may have the same value.
45 If the \var{decode_base64} argument is provided and tests true, any
46 parts that are coded in the base64 encoding are decoded as well.
47 \end{funcdesc}
49 \begin{funcdesc}{mime_decode_header}{line}
50 Return a decoded version of the encoded header line in \var{line}.
51 \end{funcdesc}
53 \begin{funcdesc}{mime_encode_header}{line}
54 Return a MIME-encoded version of the header line in \var{line}.
55 \end{funcdesc}
57 \begin{datadesc}{MAXLEN}
58 By default, a part will be encoded as quoted-printable when it
59 contains any non-\ASCII{} characters (i.e., characters with the 8th bit
60 set), or if there are any lines longer than \constant{MAXLEN} characters
61 (default value 200).
62 \end{datadesc}
64 \begin{datadesc}{CHARSET}
65 When not specified in the mail headers, a character set must be filled
66 in. The string used is stored in \constant{CHARSET}, and the default
67 value is ISO-8859-1 (also known as Latin1 (latin-one)).
68 \end{datadesc}
70 This module can also be used from the command line. Usage is as
71 follows:
72 \begin{verbatim}
73 mimify.py -e [-l length] [infile [outfile]]
74 mimify.py -d [-b] [infile [outfile]]
75 \end{verbatim}
76 to encode (mimify) and decode (unmimify) respectively. \var{infile}
77 defaults to standard input, \var{outfile} defaults to standard output.
78 The same file can be specified for input and output.
80 If the \strong{-l} option is given when encoding, if there are any lines
81 longer than the specified \var{length}, the containing part will be
82 encoded.
84 If the \strong{-b} option is given when decoding, any base64 parts will
85 be decoded as well.