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.