Learning Python Network Programming

(Sean Pound) #1

Engaging with E-mails


E-mail is one of the most popular ways of digital communication. Python has a
rich number of built-in libraries for dealing with e-mails. In this chapter, we will
learn how to use Python to compose, send, and retrieve e-mails. The following
topics will be covered in this chapter:



  • Sending e-mails with SMTP through the smtplib library

  • Securing e-mails transport with TLS

  • Retrieving e-mails by using POP3 with poplib

  • Retrieving e-mails by using IMAP with imapclient

  • Manipulating e-mails on the server with IMAP

  • Sending e-mails with the help of the logging module


E-mail terminologies


Before we start composing our first e-mail with the help of Python, let us revisit
some of the elementary concepts of e-mail. Often, an end-user uses a piece of
software or a graphical user interface (GUI) for composing, sending, and receiving
e-mails. This piece of software is known as an e-mail client, for example, Mozilla
Thunderbird, Microsoft Outlook, and so on are e-mail clients. The same tasks can be
done by a web interface, that is, a webmail client interface. Some common examples
of these are: Gmail, Yahoo mail, Hotmail and so on.


The mail that you send from your client interface does not reach the receiver's
computer directly. Your mail travels through a number of specialized e-mail servers.
These servers run a piece of software called the Mail Transfer Agent (MTA), and its
primary job is to route the e-mail to the appropriate destinations by analyzing the
mail header, among other things.

Free download pdf