blob: 171e7d26f053f5b79ff46b757834cb252ee1c0fc [file] [log] [blame]
Guido van Rossumfd16ca41997-07-30 22:05:07 +00001\section{Standard Module \sectcode{mimify}}
2\stmodindex{mimify}
3\renewcommand{\indexsubitem}{(in module mimify)}
4
5The mimify module defines two functions to convert mail messages to
6and from MIME format. The mail message can be either a simple message
7or a so-called multipart message. Each part is treated separately.
8Mimifying (a part of) a message entails encoding the message as
9quoted-printable if it contains any characters that cannot be
10represented using 7-bit ASCII. Unmimifying (a part of) a message
11entails undoing the quoted-printable encoding. Mimify and unmimify
12are especially useful when a message has to be edited before being
13sent. Typical use would be:
14
15\begin{verbatim}
16unmimify message
17edit message
18mimify message
19send message
20\end{verbatim}
21
22The modules defines the following user-callable functions and
23user-settable variables:
24
25\begin{funcdesc}{mimify}{infile, outfile}
26Copy the message in \var{infile} to \var{outfile}, converting parts to
27quoted-printable and adding MIME mail headers when necessary.
28\var{infile} and \var{outfile} can be file objects (actually, any
29object that has a \code{readline} method (for \var{infile}) or a
30\code{write} method (for \var{outfile})) or strings naming the files.
31If \var{infile} and \var{outfile} are both strings, they may have the
32same value.
33\end{funcdesc}
34
35\begin{funcdesc}{unmimify}{infile, outfile, decode_base64 = 0}
36Copy the message in \var{infile} to \var{outfile}, decoding all
37quoted-printable parts. \var{infile} and \var{outfile} can be file
38objects (actually, any object that has a \code{readline} method (for
39\var{infile}) or a \code{write} method (for \var{outfile})) or strings
40naming the files. If \var{infile} and \var{outfile} are both strings,
41they may have the same value.
42If the \var{decode_base64} argument is provided and tests true, any
43parts that are coded in the base64 encoding are decoded as well.
44\end{funcdesc}
45
Guido van Rossumfcaf26e1997-08-14 14:13:01 +000046\begin{funcdesc}{mime_decode_header}{line}
47Return a decoded version of the encoded header line in \var{line}.
48\end{funcdesc}
49
50\begin{funcdesc}{mime_encode_header}{line}
51Return a MIME-encoded version of the header line in \var{line}.
52\end{funcdesc}
53
Guido van Rossumfd16ca41997-07-30 22:05:07 +000054\begin{datadesc}{MAXLEN}
55By default, a part will be encoded as quoted-printable when it
56contains any non-ASCII characters (i.e., characters with the 8th bit
57set), or if there are any lines longer than \code{MAXLEN} characters
58(default value 200).
59\end{datadesc}
60
61\begin{datadesc}{CHARSET}
62When not specified in the mail headers, a character set must be filled
63in. The string used is stored in \code{CHARSET}, and the default
64value is ISO-8859-1 (also known as Latin1 (latin-one)).
65\end{datadesc}
66
67This module can also be used from the command line. Usage is as
68follows:
69\begin{verbatim}
70mimify.py -e [-l length] [infile [outfile]]
71mimify.py -d [-b] [infile [outfile]]
72\end{verbatim}
73to encode (mimify) and decode (unmimify) respectively. \var{infile}
74defaults to standard input, \var{outfile} defaults to standard output.
75The same file can be specified for input and output.
76
77If the \code{-l} option is given when encoding, if there are any lines
78longer than the specified \var{length}, the containing part will be
79encoded.
80
81If the \code{-b} option is given when decoding, any base64 parts will
82be decoded as well.
83