If we make an analogy to physical mail, the SMTP commands MAIL FROM
and RCPT TO
address the envelope. Those commands give the SMTP server information on how the mail is to be delivered. In this analogy, the DATA
command would be the letter inside the envelope. As it's common to address a physical letter inside an envelope, it's also common to repeat the delivery information in the email, even though it was already sent to the SMTP server through the MAIL
and RCPT
commands.
A simple email may look like the following:
From: Alice Doe <[email protected]> To: Bob Doe <[email protected]> Subject: Re: The Cake Date: Fri, 03 May 2019 02:31:20 +0000 Hi Bob, Do NOT forget to bring the cake! Best, Alice
The entire email is transmitted to an SMTP server following the DATA
command. A single period on an otherwise blank line is transmitted to indicate the end of the email. If the email contains any line beginning with a period, the SMTP client should replace it with two...