email: Parsing and Composing Mails
The second edition of this book used a handful of
standard library modules (rfc822
,
StringIO
, and more) to parse the
contents of messages, and simple text processing to compose them.
Additionally, that edition included a section on extracting and
decoding attached parts of a message using modules such as mhlib
, mimetools
, and base64
.
Those tools are still available, but were, frankly, a bit clumsy
and error-prone. Parsing attachments from messages, for example, was
tricky, and composing even basic messages was tedious (in fact, an
early printing of the prior edition contained a potential bug, because
I forgot one \n
character in a
complex string formatting operation). Adding attachments to sent
messages wasn’t even attempted, due to the complexity of the
formatting involved.
Luckily, things are much simpler today. Since the second
edition, Python has sprouted a new email
package—a powerful collection of tools
that automate most of the work behind parsing and composing email
messages. This module gives us an object-based message interface and
handles all the textual message structure details, both analyzing and
creating it. Not only does this eliminate a whole class of potential
bugs, it also promotes more advanced mail processing.
Things like attachments, for instance, become accessible to mere mortals (and authors with limited book real estate). In fact, the entire section on manual attachment parsing and decoding has been deleted in this edition—it’s ...
Get Programming Python, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.