TO BE IMPROVED ....
=========================================================Terminology and Conceptsemail client <-> email serverUA(user agent): provide user interface to the email system, provide facility to create, send and receive (e-mail) messages. UA client <-> UA serverMS(message store): a data base on a email server containing a set of mail boxesMTA(message transfer agent): manage the transfer of mail messages over the Internet email server: UA server + MTA + MS 1. UA client: user interface + facility to interact with UA server email client: local MS + UA clientPOP3(post office protocol 3): control the transfer of messages over the access network between a UA client and a UA serverSMTP(simple mail transfer protocol): application protocol used to control the transfer of messages between to MTAs over the Internet email message: message(header, body) + envelope2. message header fields: some fields are used by UA/user, and some are used by the message transfer system
From: and Sender: may be different.NVT ASCII(network virtual terminal ASCII): modified version of ASCII codeword set, used in transfer syntax for mail messages3. MIME(multipurpose Internet mail extension): an extension to RFC 822 standard, offering the ability to transfer multitypes of mail messages
MIME adds a number of extra header fields to the existing fields that collectively enable the user to define alternative media types in the message body. MIME also provides a way of converting supported alternative media types into strings of ASCII characters so that they can be transfered using NVT ASCII.4. transfer encoding: To ensure the codewords in the content field will not misinterpreted by MTA as an SMTP protocol, the UA first converts non-ASCII data into lines
of (7-bit) ASCII characters and then into lines of NVT ASCII. Collectively, this is referred to as transfer encoding.
base64: an alternative transfer encoding, used to send blocks of binary data or strings of characters from a character set that uses 8-bit codewords 64 = 2**6; 24 = 6*4 = 8*3 10010101 11011100 00111011 01011000 ->10010101 11011100 00111011 01011000 = = ( = is 00111101) 100101 011101 110000 111011 010110 000011 110100 111101 -> 25 1D 30 3B 16 03 34 3D -> ldw7WD09 -> ascii -> nvt ascii quoted-printable: 11101001 -> =E9 5. processing flowon the sender's side -> user send an email -> UA client format the message into NVT ASCII -> UA client sends the message to UA server in its local mail server -> UA server deposits the message into the message queue -> client MTA checks the message queue periodically -> detects a message -> client MTA formats the message -> client MTA sends the message -> obtain IP address of the recipient server by its DNS name -> establish a TCP connection via IP address and port 25 of the recipient server -> use SMTP to transfer data -> ..... -> receive a final 250 response -> informs the UA server about the successful transfer -> the UA server informs the UA client -> the UA client informs the useron the receiver's side
-> the recipient's UA client queries its local UA server periodically to determine whether a new mail has arrived (active observer instead of lazy observer) -> the recipient's UA server receives an enquery and transfers the received data to the UA client -> the UA client places the message in the user's IN mailbox6. SMTP
client <-> server command <-> response ========================================================= Resources (Pictures)
========================================================== Questions
==========================================================
Key Words POP3 SMTP==========================================================
References RFC 1939 (POP3) RFC 821 (SMTP) RFC 822 (standard format for header fields) RFC 1341 (MIME) RFCs 2045/8 (MIME) RFC 1521 (transfer encoding) computer networking and the Internet by Fred Halsall