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:
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
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.
49 \begin{funcdesc
}{mime_decode_header
}{line
}
50 Return a decoded version of the encoded header line in
\var{line
}.
53 \begin{funcdesc
}{mime_encode_header
}{line
}
54 Return a MIME-encoded version of the header line in
\var{line
}.
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
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)).
70 This module can also be used from the command line. Usage is as
73 mimify.py -e
[-l length
] [infile
[outfile
]]
74 mimify.py -d
[-b
] [infile
[outfile
]]
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
84 If the
\strong{-b
} option is given when decoding, any base64 parts will