| \section{\module{mimify} --- |
| MIME processing of mail messages} |
| |
| \declaremodule{standard}{mimify} |
| \modulesynopsis{Mimification and unmimification of mail messages.} |
| |
| |
| 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 \method{readline()} method (for \var{infile}) or a |
| \method{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\optional{, decode_base64}} |
| 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 \method{readline()} method (for |
| \var{infile}) or a \method{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} |
| |
| \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} |
| |
| \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 \constant{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 \constant{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 \strong{-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 \strong{-b} option is given when decoding, any base64 parts will |
| be decoded as well. |
| |
| \begin{seealso} |
| \seemodule{quopri}{Encode and decode MIME quoted-printable files.} |
| \end{seealso} |