The mailtools Utility Package
The email
package
used by the pymail
example of the
prior section is a collection of powerful tools—in fact, perhaps too
powerful to remember completely. At the minimum, some reusable
boilerplate code for common use cases can help insulate you from some
of its details. To simplify email interfacing for more complex mail
clients, and to further demonstrate the use of standard library email
tools, I developed the custom utility modules listed in this section—a
package called mailtools
.
mailtools
is a Python modules
package: a directory of code, with one module per tool class, and an
initialization module run when the directory is first imported. This
package’s modules are essentially just a wrapper layer above the
standard library’s email
package,
as well as its poplib
and smtplib
modules. They make some assumptions
about the way email
is to be used,
but they are reasonable and allow us to forget some of the underlying
complexity of the standard library tools employed.
In a nutshell, the mailtools
package provides three classes—to fetch, send, and parse email
messages. These classes can be used as
superclasses to mix in their methods to an
application-specific class or to create
standalone or embedded
objects that export their methods. We’ll see these classes deployed
both ways in this text.
One design note worth mentioning up front: none of the code in this package knows anything about the user interface it will be used in (console, GUI, web, or other), ...
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.