|
New in version 2.2.
The email package is a library for managing email messages,
including MIME and other RFC 2822-based message documents. It subsumes
most of the functionality in several older standard modules such as rfc822, mimetools,
multifile, and other non-standard
packages such as mimecntl. It is specifically not designed to
do any sending of email messages to SMTP (RFC 2821) servers; that is the function of
the smtplib module. The email package attempts to be as RFC-compliant as possible, supporting in
addition to RFC
2822, such MIME-related RFCs as RFC 2045-RFC 2047, and RFC 2231.
The primary distinguishing feature of the email package is that it
splits the parsing and generating of email messages from the internal object model
representation of email. Applications using the email package deal
primarily with objects; you can add sub-objects to messages, remove sub-objects from messages,
completely re-arrange the contents, etc. There is a separate parser and a separate generator
which handles the transformation from flat text to the object model, and then back to flat
text again. There are also handy subclasses for some common MIME object types, and a few
miscellaneous utilities that help with such common tasks as extracting and parsing message
field values, creating RFC-compliant dates, etc.
The following sections describe the functionality of the email
package. The ordering follows a progression that should be common in applications: an email
message is read as flat text from a file or other source, the text is parsed to produce the
object structure of the email message, this structure is manipulated, and finally rendered
back into flat text.
It is perfectly feasible to create the object structure out of whole cloth -- i.e.
completely from scratch. From there, a similar progression can be taken as above.
Also included are detailed specifications of all the classes and modules that the email package provides, the exception classes you might encounter while
using the email package, some auxiliary utilities, and a few examples.
For users of the older mimelib package, or previous versions of the email package, a section on differences and porting is provided.
See Also:
- Module smtplib:
- SMTP protocol client.
|