The preceding chapter introduced Python's client-side Internet tool set—the standard library modules available for email, FTP, network news, and more, from within a Python script. This chapter picks up where the last one left off and presents a complete client-side example—PyMailGUI, a Python program that sends, receives, composes, and parses Internet email messages.
Although the end result is a working program that you can actually use for your email, this chapter also has a few additional agendas worth noting before we get started:
For one thing, PyMailGUI implements a full-featured GUI that runs on your machine, and communicates with your mail servers when necessary. As such, it is a network client program that further illustrates some of the preceding chapter's topics, and it will help us contrast server-side solutions introduced in the next chapter.
Additionally, PyMailGUI ties together a number of the
utility modules we've been writing in the book so far, and
demonstrates the power of code reuse in the process—it uses a
thread module to allow mail transfers to overlap in time, a set
of mail modules to process message content and route it across
networks, a window protocol module to handle icons, and so on.
Moreover, it inherits the power of tools in the Python standard
library, such as the