Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 1 | |
| 2 | :mod:`mimify` --- MIME processing of mail messages |
| 3 | ================================================== |
| 4 | |
| 5 | .. module:: mimify |
| 6 | :synopsis: Mimification and unmimification of mail messages. |
Georg Brandl | 7f758c4 | 2007-08-15 18:41:25 +0000 | [diff] [blame] | 7 | :deprecated: |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 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 | |