RELEASED email package version 2.5
21 Mar 2003 16:38:18 -0500
I've just released the (standalone) email package version 2.5. This is
identical to the version that is in the current cvs development tree for
Python 2.3. I've also backported it to what will be Python 2.2.3.
email 2.5 is made available as a distutils package for installing in
earlier versions of Python. It is compatible with Python 2.1
Python 2.2, and Python 2.3. See below for a summary of changes.
The email package is a library for parsing, handling, and generating
email messages and other RFC 2822 style documents. It conforms to
most of the email related RFCs including 2045-2047 (the MIME RFCs) and
2231. It is intended to replace several older modules in the standard
distribution, such as rfc822, mimetools, multifile, mimify, and
MIMEWriter, and such non-standard modules as mimecntl.
email-2.5.tar.gz is available from the mimelib project on SourceForge:
More information, as well as on-line documentation is available on the
- Message.get_payload() now recognizes various uuencoded
Content-Transfer-Encodings (e.g. x-uuencode).
When passing decode=3DTrue to Message.get_payload() and a
low-level decoding error occurs, the payload is returned as-is
instead of raising an exception.
- Header.__init__() and Header.append() now accept an optional
argument `errors' which is passed through to the unicode() and
ustr.encode() calls. You can use this to prevent conversion
errors by e.g. passing 'replace' or 'ignore'.
RFC 2822 specifies that long headers should be split at the
"highest level syntactic break" possible. This can only really
be determined by the application, and the current API doesn't
support arbitrary break points. As a compromise,
Header.encode() grew a `splitchars' argument which provides some
control over splitting at higher level syntactic breaks.
Header.decode_header() now transforms binascii.Errors into
email.Errors.HeaderParseErrors when bogus base64 data appears in
The header splitting and folding algorithms were completely
reimplemented, especially when dealing with ASCII headers.
We now preserve spaces between encoded and non-encode parts in
RFC 2047 headers when converting the header to Unicode. While
the RFC is technically ambiguous on this point, this is the
behavior most people expect.
- email.Iterators.body_line_iterator() now takes an optional
decode argument, which is passed through to Message.get_payload().
- The MIMEText constructor used to append a newline to the _text
argument if it didn't already end in a newline. Now it doesn't.
- The quopriMIME.header_encode() maxlinelen argument now accepts
None, which inhibits line breaking.
- Support for Korean charsets was added to Charset.py. Also the
Charset class grew a __repr__() method.
- Various and sundry bug fixes, improved RFC conformance, and
improved lax parsing.
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
-----END PGP SIGNATURE-----