1997-07-30 19:05:07 -03:00
|
|
|
\section{Standard Module \sectcode{mimify}}
|
1998-02-18 11:10:24 -04:00
|
|
|
\label{module-mimify}
|
1997-07-30 19:05:07 -03:00
|
|
|
\stmodindex{mimify}
|
1998-02-13 02:58:54 -04:00
|
|
|
\setindexsubitem{(in module mimify)}
|
1997-07-30 19:05:07 -03:00
|
|
|
|
|
|
|
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:
|
|
|
|
|
|
|
|
\begin{verbatim}
|
|
|
|
unmimify message
|
|
|
|
edit message
|
|
|
|
mimify message
|
|
|
|
send message
|
|
|
|
\end{verbatim}
|
|
|
|
|
|
|
|
The modules defines the following user-callable functions and
|
|
|
|
user-settable variables:
|
|
|
|
|
|
|
|
\begin{funcdesc}{mimify}{infile, outfile}
|
|
|
|
Copy the message in \var{infile} to \var{outfile}, converting parts to
|
|
|
|
quoted-printable and adding MIME mail headers when necessary.
|
|
|
|
\var{infile} and \var{outfile} can be file objects (actually, any
|
|
|
|
object that has a \code{readline} method (for \var{infile}) or a
|
|
|
|
\code{write} method (for \var{outfile})) or strings naming the files.
|
|
|
|
If \var{infile} and \var{outfile} are both strings, they may have the
|
|
|
|
same value.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{unmimify}{infile, outfile, decode_base64 = 0}
|
|
|
|
Copy the message in \var{infile} to \var{outfile}, decoding all
|
|
|
|
quoted-printable parts. \var{infile} and \var{outfile} can be file
|
|
|
|
objects (actually, any object that has a \code{readline} method (for
|
|
|
|
\var{infile}) or a \code{write} method (for \var{outfile})) or strings
|
|
|
|
naming the files. If \var{infile} and \var{outfile} are both strings,
|
|
|
|
they may have the same value.
|
|
|
|
If the \var{decode_base64} argument is provided and tests true, any
|
|
|
|
parts that are coded in the base64 encoding are decoded as well.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
1997-08-14 11:13:01 -03:00
|
|
|
\begin{funcdesc}{mime_decode_header}{line}
|
|
|
|
Return a decoded version of the encoded header line in \var{line}.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{mime_encode_header}{line}
|
|
|
|
Return a MIME-encoded version of the header line in \var{line}.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
1997-07-30 19:05:07 -03:00
|
|
|
\begin{datadesc}{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 \code{MAXLEN} characters
|
|
|
|
(default value 200).
|
|
|
|
\end{datadesc}
|
|
|
|
|
|
|
|
\begin{datadesc}{CHARSET}
|
|
|
|
When not specified in the mail headers, a character set must be filled
|
|
|
|
in. The string used is stored in \code{CHARSET}, and the default
|
|
|
|
value is ISO-8859-1 (also known as Latin1 (latin-one)).
|
|
|
|
\end{datadesc}
|
|
|
|
|
|
|
|
This module can also be used from the command line. Usage is as
|
|
|
|
follows:
|
|
|
|
\begin{verbatim}
|
|
|
|
mimify.py -e [-l length] [infile [outfile]]
|
|
|
|
mimify.py -d [-b] [infile [outfile]]
|
|
|
|
\end{verbatim}
|
|
|
|
to encode (mimify) and decode (unmimify) respectively. \var{infile}
|
|
|
|
defaults to standard input, \var{outfile} defaults to standard output.
|
|
|
|
The same file can be specified for input and output.
|
|
|
|
|
|
|
|
If the \code{-l} option is given when encoding, if there are any lines
|
|
|
|
longer than the specified \var{length}, the containing part will be
|
|
|
|
encoded.
|
|
|
|
|
|
|
|
If the \code{-b} option is given when decoding, any base64 parts will
|
|
|
|
be decoded as well.
|
|
|
|
|