The preceding chapter introduced Python’s client-side Internet protocols tool set—the standard library modules available for email, FTP, network news, HTTP, 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:
PyMailGUI implements a full-featured desktop 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 it
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, a text editor component,
and so on. Moreover, it inherits the power of tools in the
Python standard library, such as the