Home | History | Annotate | Download | only in library
      1 
      2 :mod:`mimify` --- MIME processing of mail messages
      3 ==================================================
      4 
      5 .. module:: mimify
      6    :synopsis: Mimification and unmimification of mail messages.
      7    :deprecated:
      8 
      9 
     10 .. deprecated:: 2.3
     11    The :mod:`email` package should be used in preference to the :mod:`mimify`
     12    module.  This module is present only to maintain backward compatibility.
     13 
     14 The :mod:`mimify` module defines two functions to convert mail messages to and
     15 from MIME format.  The mail message can be either a simple message or a
     16 so-called multipart message.  Each part is treated separately. Mimifying (a part
     17 of) a message entails encoding the message as quoted-printable if it contains
     18 any characters that cannot be represented using 7-bit ASCII.  Unmimifying (a
     19 part of) a message entails undoing the quoted-printable encoding.  Mimify and
     20 unmimify are especially useful when a message has to be edited before being
     21 sent.  Typical use would be::
     22 
     23    unmimify message
     24    edit message
     25    mimify message
     26    send message
     27 
     28 The modules defines the following user-callable functions and user-settable
     29 variables:
     30 
     31 
     32 .. function:: mimify(infile, outfile)
     33 
     34    Copy the message in *infile* to *outfile*, converting parts to quoted-printable
     35    and adding MIME mail headers when necessary. *infile* and *outfile* can be file
     36    objects (actually, any object that has a :meth:`readline` method (for *infile*)
     37    or a :meth:`write` method (for *outfile*)) or strings naming the files. If
     38    *infile* and *outfile* are both strings, they may have the same value.
     39 
     40 
     41 .. function:: unmimify(infile, outfile[, decode_base64])
     42 
     43    Copy the message in *infile* to *outfile*, decoding all quoted-printable parts.
     44    *infile* and *outfile* can be file objects (actually, any object that has a
     45    :meth:`readline` method (for *infile*) or a :meth:`write` method (for
     46    *outfile*)) or strings naming the files.  If *infile* and *outfile* are both
     47    strings, they may have the same value. If the *decode_base64* argument is
     48    provided and tests true, any parts that are coded in the base64 encoding are
     49    decoded as well.
     50 
     51 
     52 .. function:: mime_decode_header(line)
     53 
     54    Return a decoded version of the encoded header line in *line*. This only
     55    supports the ISO 8859-1 charset (Latin-1).
     56 
     57 
     58 .. function:: mime_encode_header(line)
     59 
     60    Return a MIME-encoded version of the header line in *line*.
     61 
     62 
     63 .. data:: MAXLEN
     64 
     65    By default, a part will be encoded as quoted-printable when it contains any
     66    non-ASCII characters (characters with the 8th bit set), or if there are any
     67    lines longer than :const:`MAXLEN` characters (default value 200).
     68 
     69 
     70 .. data:: CHARSET
     71 
     72    When not specified in the mail headers, a character set must be filled in.  The
     73    string used is stored in :const:`CHARSET`, and the default value is ISO-8859-1
     74    (also known as Latin1 (latin-one)).
     75 
     76 This module can also be used from the command line.  Usage is as follows::
     77 
     78    mimify.py -e [-l length] [infile [outfile]]
     79    mimify.py -d [-b] [infile [outfile]]
     80 
     81 to encode (mimify) and decode (unmimify) respectively.  *infile* defaults to
     82 standard input, *outfile* defaults to standard output. The same file can be
     83 specified for input and output.
     84 
     85 If the **-l** option is given when encoding, if there are any lines longer than
     86 the specified *length*, the containing part will be encoded.
     87 
     88 If the **-b** option is given when decoding, any base64 parts will be decoded as
     89 well.
     90 
     91 
     92 .. seealso::
     93 
     94    Module :mod:`quopri`
     95       Encode and decode MIME quoted-printable files.
     96 
     97