Tutorial On The Email Protocols Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The purpose of this report is to guide and help in the understanding of developing a website using both Adobe flash and Adobe Dreamweaver. The aim of the website will be to create a distinctive web-based tutorial which can help future students understand and learn about Simple Mail Transfer Protocol (SMTP). This protocol is designed to help the user send emails. Post Office Protocol (POP3) and the Internet Message Access Protocol (IMAP4) are designed to retrieve e-mails for the user. Through the interactive website the user will be able to visually see how the above protocols function. This report will discuss and layout plans for the website. These will include an understanding and knowledge of the protocols that are illustrated in the website.

The software used in the making of the website, as said earlier, is Adobe Flash, which is used as an interactive illustration feature, and Adobe Dreamweaver, which will be used to develop and design the website and links. The report will also highlight knowledge on the software through research and practice. The website, as a learning tool, will also contain voice overs and a video designed in flash as a further example of how the protocols work. The user will have the ability to go through the tutorial at their own pace, through the control buttons on each page, allowing them to gain a greater understanding of the protocols. After each link on the website has been examined and studied the user will then have the opportunity to use the websites quiz as a self-assessment tool. This will help each user find out how much they have learnt on the subject. It will also give the user the opportunity to revise the material and retest if necessary.

In all, this report will illustrate that the website will be an animated, interactive display of the main functionalities of the above protocols aided by voice overs, control buttons and a self-assessment quiz. As a learning instrument the website will help the user comprehend the information easily and at their own pace, it will be a fun informative guide for students to learn about protocols in an online environment with helpful information and guides throughout.

Chapter 2: Dreamweaver as a development tool

2.1 Adobe Dreamweaver Introduction

Adobe Dreamweaver, previously known as Macromedia Dreamweaver, is a web development application and was renamed after being acquired by Adobe Systems in December 2005. It is probably the most adaptable and versatile program used today in the creation of web pages.

Adobe Dreamweaver is a professional HTML editor used for designing, coding and developing websites, web pages and web applications. Whether you enjoy the control of hand-coding HTML or prefer to work in a visual editing environment, Dreamweaver provides you with helpful tools to enhance your web creation experience. The visual editing features in Dreamweaver let you quickly create pages. You can view all your site elements or assets and drag them from an easy-to-use panel directly into a document. You can streamline your development workflow by creating and editing images in Macromedia Fireworks, then importing them directly into Dreamweaver, or by adding Macromedia Flash objects you create directly in Dreamweaver. Dreamweaver also includes many coding-related tools and features, including code editing tools in the Code view (such as code colouring and tag completion); reference material on HTML, CSS, JavaScript, CFML, ASP and JSP; and a JavaScript Debugger. Macromedia Roundtrip HTML technology imports your hand-coded HTML documents without reformatting the code, and then gives you the option to reformat the code with your preferred formatting style. Dreamweaver is a very user friendly application. People who do not have much experience using this program are able to learn how to make use of the many tools in the menu easily by simply using the detailed help menu. Dreamweaver can eliminate the need of writing tedious code, allowing the developer to edit text, add images, create tables and view and edit HTML code. The Developer is also able to upload and download pages between work station and web server using a built in FTP tool with only preliminary knowledge of the software.

2.2 Dreamweaver Environment

The interface of Dreamweaver consists of a document window and a number of panels to aid the user with editing, formatting, and inserting of items in the document. Below is an illustration of the Dreamweaver interface with the main areas and panels highlighted.

I:\diagram DW.png

Code and Design View

When a file is created in Dreamweaver, the document window will be split in two. First there is the area where the code is viewed. This shows the HTML code as the web pages are being created. The design view illustrates to the user the visual outlook of the web pages

Property Inspector

When text is inserted in the design view, the style of the text can be altered in two ways. Firstly highlighting the text that has to be changed, changes can be done either by using the icon or from the property inspector

2.3 Dreamweaver as used in the FYP

The Dreamweaver software is very similar to a Microsoft Office program, and due to previous experience with such programs it was easy to make the switch over to the new software. There are many tutorials to be found online and even videos on YouTube to assist with any complications a user might encounter. With previous knowledge and the aforementioned tutorials, becoming completely familiar with the software was accomplished within a matter of days.

The first step of the project was to come up with a design for the site. After consultation with a graphic design expert and a review of many existing designs, a suitable design was created for use with the project. A layout was then created to match the design of the page, which functions to keep all of the content of the website in its proper place. The final step in the initial creation of the website was the layout of the menu. Each link category was carefully picked to correspond with the content of the future pages.

Figure Website Layout

The next step in the project was to plan out and design the content of each page. One main template was designed to hold the content and then edited to suit each link category. A second template was also created from the original for those pages what would host the project's video content. The text content was then added in to the template pages and afterward the videos were added to the video pages. Each page was then "tweaked" to perfection to complete the second phase of the project.

Chapter 3: Flash Animation

3.1 Flash Introduction

3.2 Flash Environment

3.3 Flash as used in FYP

The first step of the animation stage of the project was to arrange the information to be displayed in the animations. A massive amount of information was researched and condensed down into the bare essentials for learning the functions of each protocol. A script was the devised which would run concurrently with each of the protocol animations. From this script the general process of the animations was worked out. Suitable images were then sought which were available with an open license. From the images found a group of matching and coherent pictures was then picked for use in the animations.

C:\Users\dace\Desktop\fyp\cloud080411.pngC:\Users\dace\Desktop\fyp\File 00001 (2).pngC:\Users\dace\Desktop\fyp\desk-top-computers.jpgC:\Users\dace\Desktop\fyp\Laptop-150411.png

The selected images were then printed out and added to the text to form a simple story board. Notes were then added to form a coherent sequence on which to base the animations. The second step began here as the selected images were imported into the Adobe Flash Stage. From here the images were made to move around the screen in a process called "tweening". This process created markers along paths which the images would follow. Events could take place at different markers, such as an image increasing in size, a new image appearing or a present image disappearing. This process was repeated for each protocol until they were all complete.

The final step of the animation stage was the addition of sound to each of the animations. A voiceover was created from the original text used in the formation of the storyboard. Several recordings were made and each was carefully edited and snipped into smaller segments. These segments were then formed back into one piece to ensure the best mix of acoustics. At this point the original plan was scrapped in favour of a different method of adding sound into the animations. The audio track was therefore cut up again and each piece placed at an appropriate marker to ensure perfect timing during the animation. The animations themselves were then exported into a format suitable for display on the internet. In order to achieve the best possible compatibility, the MOV format was used, which usually doesn't require any extra software or plugins to run, and even plays on the IPhone.

Chapter 4: Email Protocols

4.1 SMTP Introduction

Simple Mail Transfer Protocol (SMTP) is an Internet standard for electronic mail transmission across Internet Protocol (IP) networks. While e-mail servers and other mail transfer agents use SMTP to send and receive mail messages, user-level client mail applications typically use only SMTP for sending messages to a mail server. For receiving e-mail, client applications usually use the post office protocol (POP) or the Internet Message Access Protocol (IMAP). These protocols will be discussed later.

4.2 SMTP Description

To begin, an e-mail is created by a user using a mail user agent such as Microsoft Outlook. Each created message consists of a header that includes the recipient's e-mail address, sender's e-mail address and other information, and a body containing the message to be sent. These messages are then queued and provided as input to an SMTP sender program

Now the sender's client machine sends the e-mail to its local mail server using SMTP which in turn sends it on to the recipient's local SMTP server. The sending SMTP server uses DNS to find the Mail Exchange (MX) record of the domain to which the e-mail is addressed. This gives the sender the DNS name of the recipient's SMTP server. This is resolved to an IP address, and a connection can be made directly from the sender's SMTP server to the recipient's to deliver the e-mail. While SMTP still supports relaying, direct e-mail delivery using MX records is faster and more efficient.

However, the SMTP sender may have to deal with errors such as a non-existent address, the destination host may be unreachable or taken down or the TCP connection may fail while mail is been transferred. Here the sender has the option to give up or can queue the message to be sent later.

An SMTP transaction is defined by a series of messages passed between the server and the client. Each of these message transactions is a short ASCII text transaction, and each message from the server is preceded by a three-digit code. By parsing this code to determine the server's response, the client can ignore any other text in the server's message. A typical SMTP transaction appears as follows:-

4.3 SMTP Commands

The SMTP commands define the mail transfer or the mail system function requested by the user. SMTP commands are character strings terminated by <CRLF> the commands themselves are alphabetic characters terminated by <SP> if parameters follow and <CRLF> otherwise.

SMTP Commands:

HELO sendinghostname This command initiates the SMTP conversation. The host connecting to the remote SMTP server identifies itself by it's fully qualified DNS host name.

EHLO sendinghostname An alternative command for starting the conversation. This states that the sending server wants to use the extended SMTP (ESMTP) protocol.

MAIL From: <source email address> This is the start of an email message. The source email address is what will appear in the "From:" field of the message.

RCPT To: <destination email address> This identifies the recipient of the email message. This command can be repeated multiple times for a given message in order to deliver a single message to multiple recipients.

SIZE=numberofbytes The size command tells the remote sendmail system the size of the attached message in bytes. If omitted, mail readers and delivery agents will try to determine the size of a message based on indicators such as them being terminated by a "." on a line by themselves and headers being sent on a line separated from body text by a blank line. But these methods get confused when you have headers or header like information embedded in messages, attachments, etc.

DATA This command signifies that a stream of data, i.e. the email message body, will follow. The stream of data is terminated by a "." on a line by itself.

QUIT This terminates an SMTP connection. Multiple email messages can be transferred during a single TCP/IP connection. This allows for more efficient transfer of email. To start another email message in the same session, simply issue another "MAIL" command.

VRFY username This command will request that the receiving SMTP server verify that a given email username is valid. The SMTP server will reply with the login name of the user. This feature can be turned off in sendmail because allowing it can be a security hole. VRFY commands can be used to probe for login names on a system.

EXPN aliasname EXPN is similar to VRFY, except that when used with a distribution list, it will list all users on that list. This can be a bigger problem than the "VRFY" command since sites often have an alias such as "all".



Reply-To: Email header lines are not SMTP commands per se. They are sent in the DATA stream for a message. Header lines appear on a line by themselves, and are seperated from the body of a message by a blank line.

4.4 POP3 Introduction

The post office protocol is an application internet standard protocol used by e-mail clients to retrieve e-mail from a server over a TCP/IP connection. POP3 uses the transmission control protocol (TCP) for reliable transfer of commands, responses and message data. POP3 listens on port 110 for incoming connections. POP supports simple download-and-delete requirements for access to remote mailboxes even though POP clients have the option to leave mail on the server without deleting it. However usually clients retrieve all messages and delete them from the server.

4.5 POP3 Description

A POP3 server has three states: authorisation state, transaction state and update state. To log onto the POP3 server the user must authenticate themselves, usually by supplying a username and password. Once accepted the sever moves onto the transaction state. In the transaction state the user can perform mailbox access and message retrieval. Most of the commands in POP3 are only valid in the transaction state. Here the client normally begins by retrieving statistics about the mailbox such as number of messages and size of messages. The client then retrieves each message one at a time and marks each message for deletion on the server. Once finished with the retrieval of messages the client issues the quit command. The server now deletes the messages marked for deletion and terminates the POP3 session and the underlying TCP connection. The reason messages are not deleted until the update state is so that the server can verify the completion of previous commands and it also gives users a chance to undo the deletion of messages.

Using the popular Post Office Protocol (POP3), a user can access his or her mailbox and retrieve messages so that they can be read on a local machine. This model has the advantage of simplicity, but does not provide many features that are increasingly in demand today, such as keeping track of the status of messages and allowing access from many client devices simultaneously.


POP3 commands are three or four letters long and are not case sensitive. They are all sent in ASCII text and are terminated by the "CRLF" statement. POP3 does not use the three digit code mechanism like SMTP.

STAT Status Requests status information for the mailbox. The server will normally respond telling the client the number of messages in the mailbox, and the number of bytes of data it contains. Optionally, more information may also be returned.

LIST List Messages Lists information for the messages in a mailbox; generally this means showing the message number and its size. If a message number is given, only that message's information is provided; otherwise, the full contents of the mailbox are described, one line at a time, with a line containing just a single period at the end.

RETR Retrieve Retrieves a particular message from the mailbox. The server responds with a standard "+OK" message and then immediately sends the message in RFC 822 format, one line at a time. A line with a period by itself is sent after the last line.

DELE Delete Marks a message as deleted. Once deleted, any further attempt to access a message (using LIST or RETR for example) results in an error.

NOOP No Operation Does nothing; the server just returns a +OK reply.

RSET Reset Resets the session to the state it was in upon entry to the Transaction state. This includes "undeleting" any messages already marked for deletion.

TOP Retrieve Message Top Allows a client to retrieve only the beginning of a message. The server returns the headers of the message and only the first N lines where N is the number of lines specified.

UIDL Unique ID Listing If a message number was specified, returns a unique identification code for that message; otherwise, returns an identification code for each message in the mailbox.

4.7 IMAP4 Introduction

IMAP stands for Internet Message Access Protocol. IMAP4 uses TCP for communication on the well-known port 143. Although IMAP is similar to POP, IMAP has many advantages such as remote folder manipulation, the ability to append messages to a remote folder and new mail notifications. IMAP also has a provision for determining message structure without downloading the entire message. Another key factor of IMAP is the ability to perform server side searches. When the client server does not include primitives to ask the server to do searching, then searching transfers all of the data over the net to the client. Being able to ask the server to find relevant messages by searching its local file is of huge benefit. Email stored on an IMAP server can be manipulated from a desktop computer at home, a workstation at the office or a notebook computer while traveling without the need to transfer messages or files back and forth between these computers.

4.8 IMAP4 Description

IMAP has four states, a not authenticated state, an authenticated state, a selected state and a logout state. In the not authenticated state all the user can do is enter their authentication information so they can move to the authenticated state. In the authenticated state the client must select an individual mailbox to perform operations on. In the selected state the client can access and manipulate individual messages. When the user is finished in the current mailbox they can close it and return to the authenticated state to select a new mailbox or they can logout.

Figure . IMAP Transaction Diagram

4.9 IMAP4 Commands

Once an IMAP session is established, all communication between the client and server takes place in the form of commands that are sent as strings of ASCII text and terminated with the "CRLF" command. A big difference between IMAP and POP is that most of the codes are not abbreviated. The codes are spelt out in full. Commands are normally shown in upper case but are not case sensitive.

IMAP4 Commands -

SELECT Selects a particular mailbox so that messages within it can be accessed. If the command is successful, the session transitions to the Selected state. The server will also normally respond with information for the client about the selected mailbox; see below.

EXAMINE Exactly the same as the SELECT command, except that the mailbox is opened "read-only"; no changes are allowed to it.

CREATE Creates a mailbox with the given name.

DELETE Deletes the specified mailbox.

RENAME Renames a mailbox.

SUBSCRIBE Adds the mailbox to the server's set of "active" mailboxes. This is sometimes used when IMAP4 is employed for Usenet message access.

UNSUBSCRIBE Removes the mailbox from the "active" list.

LIST Requests a partial list of available mailbox names, based on the parameter provided.

LSUB The same as LIST but only returns names from the "active" list.

STATUS Requests the status of the specified mailbox. The server responds providing information such as the number of messages in the box and the number of recently-arrived and unseen messages.

APPEND Adds a message to a mailbox.

Chapter 5: Project Implementation

The main purpose of this project was to design and host a website with the main purpose of education. Having completed the design phase, focus turned to the hosting aspect of the project. The first task was to form a list of suitable hosting companies and narrow down the selections to find the best available. It will then be necessary to register a domain to point to the website, and a similar process will be followed to achieve this. Finally the project website must be uploaded and set live.

Due to the budget limitations of this project it was necessary to research web hosting companies very carefully to find the best package at the lowest price. After researching several web hosting companies, a forerunner emerged in the form of Vivid Design. Vivid Design offers very competitive hosting packages as a reseller for LetsHost.ie. Their packages offer direct access to your purchased webspace through the CPanel interface. Both companies associated with the hosting of the project's website are Irish and located in Ireland. Included in the package purchased for the project's website was a free domain name.

CPanel is the industry leader in server automation, turning normal servers into easy to operate hosting platforms. It runs on a multitude of Linux platforms and includes a web interface for just about every possible task an administrator needs to perform. Countless tools and applications are available in the system, and built-in security levels (administrator, re-seller, user and email interface) provide access to only those tools required by each level (ie. a user does not require the same server monitoring tools that an administrator does). The intuitive and in-depth interface that CPanel provides makes every task a breeze.

Many different options were provided by CPanel for uploading the project to the provided webspace. In spite of this, the in-built FTP feature of Adobe Dreamweaver was used. Several problems were encountered after the initial upload of the website. Most of these problems were due to compatibility issues stemming from the fact that the website was designed on the Microsoft Windows platform and being displayed on the Linux Platform. These problems were for the most part minor and very easy to fix. The utilities provided by the CPanel interface made editing the website on the webspace simple and easy, eliminating the need to continuously upload new files while editing the website.

Finally, the website went through an extensive testing process to certify that it will work for every user that wishes to access it. Compatibility was kept in mind from the start of the project, and design decisions were made based on this. Due to screen resolution limitations, the project website was given a very small layout, which accommodates for the lowest commonly available resolution (800 x 600). Testing began using the latest Windows operating system with the newest versions of Internet Explorer and Mozilla Firefox, as these are the most common web browsers in use today. Other web browsers such as Google Chrome and Apple Safari were tested. After the initial tests came several more rounds using all operating systems and browsers that were available to test with. Several compatibility issues arose in the testing, and each was dealt with as it emerged.

7.1 Conclusion