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.
Lots of other things also happen en-route, and then the mail reaches the...