+ All Categories
Home > Documents > Mridul FYP FINAL Solution

Mridul FYP FINAL Solution

Date post: 26-Nov-2014
Category:
Upload: mridul-kumar-boruah
View: 122 times
Download: 5 times
Share this document with a friend
Description:
Smart Mail- A FYP Documentation
Popular Tags:
290
Smart Mail SMART MAIL By Mridul K Boruah (PT0782209) BE (Hons.) in Computing Staffordshire University A project submitted in partial fulfilment of the award of the Bachelor of Engineering (Honours) in Computing PTL00782209 Asia Pacific Institute of Information Technology Page 1
Transcript
Page 1: Mridul FYP FINAL Solution

Smart Mail

SMART MAIL

By

Mridul K Boruah

(PT0782209)

BE (Hons.) in Computing

Staffordshire University

A project submitted in partial fulfilment of the award of the Bachelor of Engineering (Honours) in Computing

Supervised by Mr. Ravi Sachdeva

PTL00782209 Asia Pacific Institute of Information Technology Page 1

Page 2: Mridul FYP FINAL Solution

Smart Mail

Certificate

CERTIFICATE

This is to certify that Mr. Mridul K Boruah [PTL00782209] has completed his Final Year

Project, “Smart Mail” for the partial fulfillment of Bachelor in Engineering (Hons.) with

specialization in Computing. . He has successfully completed the project within eight months

under the guidance of Mr. Ravi Sachdeva, Project Supervisor.

Mridul Kr Boruah Mr. Ravi Sachdeva

PTL00782209 Project Supervisor

PTL00782209 Asia Pacific Institute of Information Technology Page 2

Page 3: Mridul FYP FINAL Solution

Smart Mail

ACKNOWLEDGEMENT

Firstly I would like to take the opportunity to convey our sincerest gratitude to those

who helped me in completing the project “Smart Mail”.

I would like to thank the God without whose grace project completion was

impossible. My humble thanks to my parents and Dr. R.K. Choudhary (Director, APIIT SD

INDIA) for giving me a chance to undertake this project

I would like to thank my project supervisor Mr. Ravi Sachdeva whole heartedly. He has

guided me throughout the project, which made it possible to complete the project successfully

on time. His encouragement gave me the experience and knowledge of developing such a

large and challenging project.

My deepest gratitude to lecturer Mr. Arun Choudhary who taught me various related

matters which are helpful in implementing my project.

My earnest thanks to Mr. Sasanka Pritom Bhuyan, Mr. Simanta Chakrabarty, Mr.

Siddharth Khetawat, Mr. Mohan Chetry, Mr. Manash Deurri and Mr. Nandan dutta, students

at APIIT SD INDIA. Their help was of great support during my testing phase and they also

helped to solve the problems which I faced during project development.

Finally I would like to thank Microsoft Inc. to develop such amazing software suites

for accompanying the software developers at the time of development of their software’s.

Without the support and encouragement provided by those named and many unnamed, the

project completion would not have been possible, my gratitude to all of them.

Mridul K Boruah

PTL00782209 Asia Pacific Institute of Information Technology Page 3

Page 4: Mridul FYP FINAL Solution

Smart Mail

Table of contents

Certificate.................................................................................................................2

ACKNOWLEDGEMENT.......................................................................................3

Introduction..............................................................................................................8

1.1 CONTEXT AND PRELIMINARY INVETIGATION......................................9

1.1.1 Topic Background....................................................................................................................9

1.1.2 Topic of the System................................................................................................................10

1.1.3 Purpose of Implementation:....................................................................................................10

1.1.4 Targeted Users of the System:................................................................................................11

1.1.5 Problem Context:....................................................................................................................11

1.1.6Rationale:.................................................................................................................................12

1.1.7Tangible benefits.....................................................................................................................13

1.1.8 Intangible Benefits:.................................................................................................................13

1.1.9 Goal of System Development:................................................................................................13

1.1.9.1 Project Goal:....................................................................................................................13

1.1.9.2 Academic Goal................................................................................................................14

1.1.10 Objectives of System Development:.....................................................................................14

1.1.10.1 Project Objectives:.........................................................................................................14

1.1.10.2 Academic Objectives.....................................................................................................14

1.1.11 Success Criteria:...................................................................................................................14

1.1.12 Scope of Proposal and Functionalities:.................................................................................15

1.1.12.1 Core functionality of the system:...................................................................................15

1.1.12.2 Advanced functionality of the system:...........................................................................15

1.1.12.3 Enhanced and special functionality of the system:.........................................................15

1.1.12.2 Evidence for Limiting Scope.........................................................................................16

1.1.13 Major Deliverables of the Project:........................................................................................16

1.2 Test Plan:...................................................................................................................................17

1.3 Risk Management:.....................................................................................................................19

Figure 1: Qualitative Risk Analysis Matrix..............................................................22

1.4Work Break- Down Structure:....................................................................................................25

1.5 Project development:.................................................................................................................25

PTL00782209 Asia Pacific Institute of Information Technology Page 4

Page 5: Mridul FYP FINAL Solution

Smart Mail

PROBLEM DESCRIPTION..................................................................................29

LITERATURE REVIEW.......................................................................................32

CONCLUSION......................................................................................................37

RESEARCH METHODS.......................................................................................42

Primary Research...................................................................................................42

Questionnaires.............................................................................................................................42

Fig 2: waterfall model............................................................................................49

Fig 4: RUP model....................................................................................................52

ANALYSIS............................................................................................................63

Chapter 6................................................................................................................70

Design Documents.................................................................................................70

Use Case Diagram:.................................................................................................70

Database Design..............................................................................................................................91

1. user_det table...............................................................................................................................92

Storyboarding..................................................................................................................................96

ER Diagram...........................................................................................................101

SEQUENCE DIAGRAMS...................................................................................................................102

SEQUENCE DIAGRAM FOR THE LOGIN.......................................................................................102

Sequence Diagram1.............................................................................................102

Fig 5: Sequence diagram of login of Smart Mail...................................................102

SEQUENCE DIAGRAM FOR THE USER REGISTRATION....................................................................103

Fig 6: Sequence diagram of user registration.......................................................103

Class Diagram.......................................................................................................103

Chapter 7..............................................................................................................104

Implementation...................................................................................................104

7.2:-IMPLEMENTATION PLAN.................................................................................................104

7.3:- IMPLEMENTATION OF THE MODULES.........................................................................106

CONCLUSION.............................................................................................................................139

TECHNICAL MANUAL..............................................................................................................142

Chapter 8..............................................................................................................144

PTL00782209 Asia Pacific Institute of Information Technology Page 5

Page 6: Mridul FYP FINAL Solution

Smart Mail

Testing..................................................................................................................144

8.6:-UNIT TESTING.....................................................................................................................147

Integration Testing.........................................................................................................................152

System Testing..............................................................................................................................154

Compatibility Testing....................................................................................................................154

SECURITY TESTING..................................................................................................................157

Usability and user acceptance testing............................................................................................157

Conclusion.....................................................................................................................................159

Chapter 9..............................................................................................................160

Evaluation............................................................................................................160

Degree of success.................................................................................................160

Functionalities...............................................................................................................................161

Conclusion...........................................................................................................165

What if you were asked to remake the project?.............................................................................165

Learning Experience......................................................................................................................165

References............................................................................................................167

GANTT CHART.................................................................................................195

Table of Figure

Figure name Page No.1. Qualitative risk analysis matrix. 22

2. Waterfall model. 50

3. Spiral model. 51

4. Rational unified process model (RUP) 53

5. Sequence diagram for login 106

6. Sequence diagram for registration 107

PTL00782209 Asia Pacific Institute of Information Technology Page 6

Page 7: Mridul FYP FINAL Solution

Smart Mail

List of Table

Table name Page No.

1. Risk and mitigation plan for natural threats. 20

2. Risk and mitigation plan for technical threats. 20

3. Risk and mitigation plan for human threats. 21

4. Risk levels 22

5. Risk occurrence likelihood matrix 22

6. Risk probability- consequence table 23

7. Contingency plan for smart mail 24

8. Functionality comparison with existing system. 39

9. Comparison between methodology 56

10. Testing 150

11. Unit testing for login panel 154

12. Unit testing for Project Initiation 154

13. ASP.Net Integration test 155

14. Integration Test 157

15. System testing 158

16. Compatibility test OS details 159

17. Compatibility test for OS 159

18. Compatibility testing for web browsers 160

19. Meeting user requirements evaluation 165

20. Functionalities Evaluation 165

21. : Usability Evaluation 166

22. Research & Analysis Evaluation 167

PTL00782209 Asia Pacific Institute of Information Technology Page 7

Page 8: Mridul FYP FINAL Solution

Smart Mail

Chapter 1

PTL00782209 Asia Pacific Institute of Information Technology Page 8

Page 9: Mridul FYP FINAL Solution

Smart Mail

IntroductionSmart Mail is designed and developed with the end user in mind, both administrators and

clients in a similar way. The features included in the Smart Mail package are a jump further

on of other similar fields. The flexibility of Smart Mail is what actually sets it separately from

opposing products. Administrators have the ability to configure Smart Mail to run as

optimally as possible on the server, from setting POP3, IMAP and SMTP threads and

timeouts to delivery setback and log file detail, end users with admin permissions for the

domain can set individual account limits (e.g. mailbox size) and domain-level spam and

content filtering, and end users themselves can set spam levels and check incoming mail

against any number of spam and/or black lists.

Smart Mail provides users more power and control than ever before with the most flexible

email clients services currently available.

Smart Mail is built and priced to be both beneficial and accessible to individuals and

enterprise-level organizations alike, and is able to support anywhere from one to an unlimited

number of domains and an unlimited number of email addresses. In addition to providing end

users with advanced features like mail account statistics and precise user-controlled spam and

content filtering, implement SMTP authentication, and much more.

As an added benefit, Smart Mail is accessible from a standard web browser, giving

administrators and end users email capabilities anytime, from anywhere. Smart Mail uses

industry standard mail protocols, like POP3 and IMAP4 for incoming mail and SMTP for

outgoing mail.

PTL00782209 Asia Pacific Institute of Information Technology Page 9

Page 10: Mridul FYP FINAL Solution

Smart Mail

1.1 CONTEXT AND PRELIMINARY INVETIGATION

1.1.1 Topic Background

We offer the expertise and ability to convey your message effectively, economically and

expediently. Electronic mail (email) is perhaps the most popularly used system for

exchanging business information over the Internet (or any other computer network). At the

most basic level, the email process can be divided into two principal components:

Mail servers, which are hosts that deliver, forward, and store email; and

Mail clients, which interface with users and allow users to read, compose, send, and store email.

How Smart Mail Works There are two main components that work together within Smart Mail, the Web Interface and

the Web Server.

Smart Mail Web Interface

The Web Interface is a browser based administration platform that installs on a single server

and supports administration of domains and email accounts as well as email account access

by end users. End users are able to access and use their accounts using either web mail.

Smart Mail Web Sever

The Web Server installs with the Smart Mail Web Interface by default, easing the

implementation of Smart Mail and meaning that there is zero configuration necessary for

Smart Mail to work "right out of the box". This Web Server gives users and administrators

access to the Smart Mail Web Interface from the Internet by utilizing the IP address assigned

to the local machine. However, after installing Smart Mail, it is recommended that the Web

Interface be moved from the Smart Mail Web Server to Microsoft IIS (if available) for more

stability and security. For step-by-step instructions on how to transition smart mail to IIS.

Logging in to Smart Mail

To login to smart mail type in your full email address and Password on the login screen. If

everything matches up, you will be presented with the welcome page and a view of all folders

in your mailbox. The full original email address (not an alias address) must be used to log

into the corresponding mailbox

Smart mail provides user with following advantages:

PTL00782209 Asia Pacific Institute of Information Technology Page 10

Page 11: Mridul FYP FINAL Solution

Smart Mail

Availability of email even without an internet connection: If you've been using web

based email accounts such as Hotmail, Gmail or Yahoo! Mail, you know that an active

internet connection is required to login to your online account and access messages.

With Smart Mail, the program will connect to your account, download and store them

on your computer. Since now the messages are on your local machine they are

available to you.

Save time by downloading email from various accounts: This point applies to those

who have multiple email accounts. You don't need to waste time in checking each

email account separately. Multiple accounts can be set up in Smart Mail which means

email from all these accounts will be downloaded together at one place - your

computer. You can also use filters and smart mail message rules to separate out email

messages as they arrive at your system. For example, all incoming Gmail messages

can be diverted to one folder while those from Hotmail to another. You can similarly

isolate emails based on sender, file size, whether they have attachments etc.

A copy of your emails in on your computer: Probably the most important advantage

of using Smart mail and other email management software is the ability to store a copy

of all your email on your computer. So even if you accidently delete an important

message from your server or if (God forbid) your account is hacked or is inaccessible,

you know you can retrieve the messages from your system

1.1.2 Topic of the System

A new Web Mail Service for user, Smart Mail is a webmail application that provides to

single access to all of your mail accounts. You can create new Account here like Yahoo,

Gmail etc. This system will increase your mail security. A simple entry registration process is

required. The very important and unique feature is that you can easily check your other mail

account (such as Hotmail, and Gmail) from this Smart mail. The protocols (SMTP, POP3) all

will be implemented.

1.1.3 Purpose of Implementation:This system is useful for those users who have multiple mail accounts in different mail

servers and want to use all the account simultaneously in one platform rather than go to the

different mail sites. Today people are very concerned about the time and speed and the faster

that technology can deliver the more one is inclined to it. Such a system is created for the sole

purpose that a user can use this application for fast access to his or her mail. The system is as

PTL00782209 Asia Pacific Institute of Information Technology Page 11

Page 12: Mridul FYP FINAL Solution

Smart Mail

well as reliable and it’s not a time consuming site to perceive the different mail account in

one webmail platform. Furthermore the cost for deploying or undertaking maintenance

measures is phenomenally low by using the highly competent and attractive deployment of

my application

1.1.4 Targeted Users of the System: Users are at the forefront of any development activity. A system to be successful must be able

to meet the requirements of its intended users efficiently. Targeted users comprises of those

intended users.

The system will mainly be developed by targeting the information seek peoples such as

student, professional, business person etc. to fulfill their requirements. Anyone who has the

basic knowledge of computer and internet and who frequently works with mail systems like

Gmail, yahoo, hotmail etc. can use this system. Anyone ranging from home users to office

users; interested in the habitual check of their mail while they are away and having the

internet connection needs this system.

1.1.5 Problem Context:

I had found the following problems in the existing system during the research session…

System starts downloading but it stops always in the same E-mail

System keeps downloading the same E-mails over and over

It just "sits there" or gives me a Server time out error

Messages in Inbox or other mail folders disappear

Messages in newsgroups disappear

Same mail messages continue to be downloaded from POP3 account

Toolbar buttons are distorted or black

Spellchecking is not functional after installing an enabling application.

Hyperlinks are not working some time.

Contacts problem, it’s a problem when composing an email as Outlook will not

recognize your contacts directly.

A user has several choices for your email client application, including a range of web

email services. However, many people prefer to use a stand-alone application designed

specifically for email since they sometimes have a better focus and features.

PTL00782209 Asia Pacific Institute of Information Technology Page 12

Page 13: Mridul FYP FINAL Solution

Smart Mail

1.1.6Rationale:

The rise of email as a communication tool has been critically important in the business and

commerce world. It allows for instant dialogue between colleagues, clients and contractors,

and it's also free. For many companies, the wide reach of emails has allowed them to access a

client base far larger than ever previously conceived, thus providing the potential for

increased revenues.

Where paper copies of important correspondence and documents can easily be lost, every

email sent and received is stored electronically, reducing the risk of accidental loss and

providing a company with records of transactions made, orders raised and other important

conversations that may need to be retained for future use.

 A type of e-mail sent for commercial purpose.  For instance, the e-mail may promote a

product or server, be an order confirmation, be a subscription update, or be an opt-out. It is

important, though, to differentiate transactional commercial messages from advertisements,

as the later is subject to additional requirements. However, all e-mail is monitored from three

angles to protect consumers and industry:

deception,

network and technological strain, and

Costs imposed on the recipients.

Smart mail is an e-mail client that runs on computers, we mean that it interacts directly with

the user, allowing mail to be sent, read, filed, and printed. Smart mail can be left running

permanently on the workstation and includes powerful tools to notify the user when new mail

arrives.

PTL00782209 Asia Pacific Institute of Information Technology Page 13

Page 14: Mridul FYP FINAL Solution

Smart Mail

Benefits of the system:

Benefits come in two types. Tangible benefits are those that can be measured and assigned

some kind of number or dollar value. Intangible benefits are benefits that cannot be measured

or even quantified.

1.1.7Tangible benefits1. Reduce Cost of Internet: as Smart Mail deals with offline accessing of mail, so the users

need not have to worry about the internet connection. This will save their money to a great

extend.

2. Saves time: As the system is to be made online and offline so it saves time of the users.

The users can now access their mail offline sitting at home without having to wait for

opening their different mail account form different sites.

3. Reduces training cost: the Smart mail system interface of my application in both online

and offline will be very friendly and based on the principles of HCIU. This will save

organizations from investing heavily in training in terms of both time and cost.

4. Smart mail allows user to access multiple accounts at the same time in same window.

1.1.8 Intangible Benefits: Reduced unscrupulous activity: The user knows that their each and every

activity on the email is being monitored and recorded. This will discourage them

from indulging in any unscrupulous activities.

Increases Privacy and security. I will use RSA Encryption method to increase

the user privacy and security.

Better management of marketing information and customer information.

1.1.9 Goal of System Development:

1.1.9.1 Project Goal:The major goal of this project is to come up with a secure and effective mail client system,

called Smart Mail. This system is required to be developed within the estimated time

duration and cost budget, the developed system will also need to meet the user requirements

and produce the expected deliverables at the end of the development.

PTL00782209 Asia Pacific Institute of Information Technology Page 14

Page 15: Mridul FYP FINAL Solution

Smart Mail

The overall goal of the project is to develop a service that will provide a very important and

unique feature that you can easily check your Rediff, Hotmail, and Gmail account from this

Webmail without login into the respective sites

1.1.9.2 Academic GoalThe primary academic goal in developing this system absorbs gaining personally experience

in developing a real world application based on various project management and human

computer interaction principles. The project will help in appreciating the weight of time

scheduling and a accurate documentation for triumph of a project. From an academic

viewpoint, the project will enable learning new technologies, programming languages,

databases concepts and principles of project management.

1.1.10 Objectives of System Development:

1.1.10.1 Project Objectives: The major objective of this project is to approach up with a secure and effective

mail client system.

This system is required to be developed within the estimated time duration and

cost budget.

The developed system will also need to meet the user requirements.

Produce the expected deliverables at the end of the development.

The product should enable the user to block any application or a user in the mail.

1.1.10.2 Academic ObjectivesApart from the above mentioned project objectives, the project should enable the

developer snatch a solid grip on various Project Management and HCI principles and

conventions.

1.1.11 Success Criteria:The success of the system being developed in terms of:

Meet up the user requirements: Once the system is deployed whether it is able to

fulfill all the user requirements.

Functional requirements: Whether all the modules of the system are operating as

intended or not.

Passing the test criteria: Whether the system is able to pass the set test criteria.

PTL00782209 Asia Pacific Institute of Information Technology Page 15

Page 16: Mridul FYP FINAL Solution

Smart Mail

Usability and HCI evaluation: Whether the system follows accepted HCI norms

and conventions.

1.1.12 Scope of Proposal and Functionalities:

1.1.12.1 Core functionality of the system: Basic functionality of email: in this module system will provide the basic

functionality to the user such as read, send, forward mail in offline, delete, draft,

blocking mail, as well as will have the options for spam, sent mail, contacts.

Calendar: in this module user can set time, date including essential task, meetings.

Tasks: with the help of this option user can set something for future use.

Email filtering is the processing of e-mail to organize it according to specified criteria.

Sort your mail by date, size, sender, subject, color or thread, in ascending or

descending order

1.1.12.2 Advanced functionality of the system:

Support for major Internet mail-related protocols - SMTP, POP3

Powerful, multiple address books with full user detail records

Offline operation allows you to read and compose your mail while you are not

connected to the Internet.

Automatic hyper-linking of URLs and e-mail addresses, even in non-HTML messages

Support for multiple simultaneously accessible POP3 and IMAP mailboxes.

1.1.12.3 Enhanced and special functionality of the system:

Powerful encryption interface - the program has its own encryption method, and by

adding readily available plug-in, can support encryptions such as PGP.

The very important and unique feature is that you can check your different mail

account from Smart mail into the respective sites at the same time and at same

window.

PTL00782209 Asia Pacific Institute of Information Technology Page 16

Page 17: Mridul FYP FINAL Solution

Smart Mail

1.1.12.2 Evidence for Limiting Scope

The scope of a project is limited by time and cost. In this case, time is of essence. If any

features are included into system later on, they will be calculated as special features of the

system.

As the system solution itself functions on a network i.e. performs its activities

including sending of notification, uploading of notices etc on a network, hence unless

and until the network topology used is strong and robust there is fear for crashing of

the system and hence of the data.

With data being crashed update anomalies will show up in notifications starting with

end users receiving outdated information about news and events.

Other major concerns could be the use of security in the portal solution. Although the

system is designed to provide maximum security and privacy for the end users yet

anomalies may exist in the form of leakage of private information or encroaching of

privacy.

Even though the system is developed for novice as well as for casual users it will

require a computer literate person as a user.

Although it has been ensured that the system delivers information in the most

professional and ethical way yet users may somehow misuse the professional content

of shared knowledge in a way that could be termed unethical.

1.1.13 Major Deliverables of the Project:Smart Mail brings security and performance together, delivering high profile enhancements

that don't compromise safety. Every message in your inbox will now have a corresponding

status icon. These icons will inform the user of what actions have been taken for each

individual email. The types of status icons include: read, unread, forwarded, and replied.

The system itself will be designed specifically as a non-passive application which allows a

certain level of interactivity between the user and the system, the overall features and

function of the system will be done. The scope of this system is to provide essential

PTL00782209 Asia Pacific Institute of Information Technology Page 17

Page 18: Mridul FYP FINAL Solution

Smart Mail

information of the basics and fundamentals of email client, and to provide interactive guides

for the user to have better learning experience and understanding.

The deliverables at the end of the project are:

Softcopy of the project documentation.

Hardcopy of project documentation.

CD containing the entire source code of the project and the documentation.

Smart mail does all the basics of e-mail extremely well and far more than that. This list is by

no means comprehensive - it concentrates on the highlights.

1.2 Test Plan:The principles of the test discipline are:

To make sure that the interaction between objects.

To make sure that the proper assimilation of all components of the software.

To make sure that all requirements have been properly implemented.

To identify and ensure that faults are addressed earlier to the use of the software.

To make sure that all the faults are fixed, retested and closed.

The two most broadly used universal testing are White-Box testing and Black-Box testing.

White-Box testing: is a program based testing which uses program statements and data

dependencies to derive test cases. White box testing will be carried out for all the logically

complex modules of the project. It takes into account the internal mechanism of a system or

component. It demands full visibility of the internal workings of the software product,

specifically, the logic and the structure of the code. White box testing will be carried out for

all the logically complex modules of the project.

Black Box testing: is a requirement based testing which uses test cases to show that the

project satisfies functional as well as non- functional specifications. Black box testing will be

carried out for all the modules of the project. Testing without knowledge of the internal

workings of the item being tested. Tests are usually functional. The system or module to be

tested is considered as black box which only takes input and gives output after processing,

PTL00782209 Asia Pacific Institute of Information Technology Page 18

Page 19: Mridul FYP FINAL Solution

Smart Mail

thus the testing solely depends on the inputs. Every input will be tested for its validation

using various black box testing techniques.

This will help me to know if all the processes are working fine.

Unit testing: It will be done to ensure whether an individual portion or unit of the

software conforms to their specifications and predictable performance. This will help

in identifying small faults in the project. Functional and reliability testing in an

engineering environment. Producing tests for the behavior of components of a product

to ensure their correct behavior prior to system integration. Unit testing will be

performed to test each module individually.

Functional testing: Here, each and every module of the project will be tested

individually. Validating an application conforms to its specifications and correctly

performing all its required functions. This entails a series of tests which perform a

feature by feature validation of behavior, using a wide range of normal and erroneous

input data. This can involve testing of the product's user interface, APIs, database

management, security, installation, networking; etc. Testing can be performed on an

automated or manual basis using black box or white box methodologies. In case of

Campus Connect I will be testing every individual feature of the project function by

function, user interfaces and other features.

Usability Testing: This testing strives upon the usability features like design

principles and other HCI guidelines. The system is tested to follow the designing

principles. The system is also checked for the feedback, visibility, constraints and

other HCI guidelines.

Compatibility Testing: Testing to ensure compatibility of an application with

different browsers, Operating Systems, and hardware platforms. Compatibility testing

can be performed manually or can be driven by an automated functional or regression

test suite. As Campus Connect would be a platform independent application I will

check its compatibility with different operating systems. This testing will be

performed after completion of the whole system. It is expected that the system will be

compatible over the list Operating Systems mentioned in the software requirements

section.

PTL00782209 Asia Pacific Institute of Information Technology Page 19

Page 20: Mridul FYP FINAL Solution

Smart Mail

Integration Testing: The different modules of the system will be integrated tested to

check the functionality of the entire system.

User Acceptance Testing: This is done at the completion of the project. This is done

by an external stakeholder. This will help the developer to know whether the system

developed meets user requirements. Testing to verify a product meets customer

specified requirements and the user accepts the system that was developed. User

acceptance testing would be done after the development of the entire project.

GUI Testing: The GUI developed for the application will be tested for its ease of use

and understanding.

1.3 Risk Management:

Risk analysis was carried out by the developer to recognize probable risk that can take place

throughout the development stage.

Identified Risk and Mitigation plan:

The developer identified the project risk by evaluating the project plan and the project scope

statement. There is much kind of threats behind the development of a project.

Natural Threats: Natural threats can give a great collision to obstruct the project. As

enlisted below the natural threats can cause loss of resources as well as the capital. Even

though the natural risks are less probable, if occurred they can cause failure of entire project.

Few of the natural threats are:

Sr.

No

Risk Mitigation Plan

1. As we know that experience

teaches us a lot of things.

Inexperience in the subject

matter can be a possible risk.

Widespread secondary research is conducted on the

subject matter. Online help and journals were sought after

to gain knowledge about the area.

2. Unrealistic scheduling Critical issues for the project were identified and adequate

time slot was given for each such activities.

PTL00782209 Asia Pacific Institute of Information Technology Page 20

Page 21: Mridul FYP FINAL Solution

Smart Mail

Table 1: risk and mitigation plan for natural threats

Technical Threats: These are threats relating to technical issues that will also lead to

unwanted project results.

Sr.

No

Risk Mitigation Plan

1. Some of system functionalities may not be

delivered by the time of submission. The

project may not be completed on time.

The scope of the project was reduced.

2. Loss of data due to system crash or failure. Proper back up for the research material

and others have been arranged.

3. Technology selected will not meet the

expectation.

Thorough research was conducted in

finalizing the tools to be used for

developing the project.

Table 2: risk and mitigation plan for technical threats

Human Threats: There are certain threats based on human behaviors, habits and

characteristics as featured below:

Sr.

No

Risk Mitigation Plan

1. The developer might fall short in learning or

implementing the optimum knowledge or technology

in the project due to personal shortfalls.

Proper task schedule and time

management should be planed.

2. If the developer is not able to communicate correctly

or there might be any misinterpretations between the

Proper communication should

be there with supervisor.

PTL00782209 Asia Pacific Institute of Information Technology Page 21

Page 22: Mridul FYP FINAL Solution

Smart Mail

supervisor and supervisee leading to interruption of the

project development.

Table 3: risk and mitigation plan for human threats

RISK EVALUATION

The developer has a detailed overview of few real time projects “AMC mail client” to study

the risk analysis and evaluation. The developer identified the following risk severity levels

accordingly:

Impact % Level

0-20 Insignificant

21-40 Minor

41-60 Moderate

61-80 Major

81-100 Severe

Table 4: Risk Levels

The developer also had a study of the environment of the project Smart Mail; he identified

the likelihood of the various risks identified above as shown below:

Table 5: Risk occurrence likelihood matrix.

PTL00782209 Asia Pacific Institute of Information Technology Page 22

Occurrence % Likelihood

0-5 Rare

6-15 Unlikely

16-50 Possible

51-75 Likely

76-100 Almost Certain

Page 23: Mridul FYP FINAL Solution

Smart Mail

1

The above mentioned table indicates the Qualitative Risk Analysis matrix that is produced

based on the likelihood and consequence of a general risk.

(Table_Qualitative_Risk_Analysis_Matrix.rtf, 2008) The developer has used this matrix to

prioritize the risks. Each risk can thus be prioritized as low, medium, high or extreme priority

risk.

The risks involved in Smart mail and their priorities are calculated below:

Risk Name Likelihood Consequence PrioritySecurity Rare Medium Major

Power failure Likely Major HighPersonal shortfall Possible Moderate Medium

Communication failure Likely Major HighUnrealistic schedule

and budgetUnlikely Moderate Medium

Loss of data storage devices

Rare Major Medium

Table 6: Risk Probability-Consequence Table

1 Source: www.finance.gov.au/comcover/docs/info-session/Table_Qualitative_Risk_Analysis_Matrix.rtf

PTL00782209 Asia Pacific Institute of Information Technology Page 23

Figure 1: Qualitative Risk Analysis Matrix

Page 24: Mridul FYP FINAL Solution

Smart Mail

Reasons of the identified risks of this project can be explained as follow:

Security: this risk will occur in exceptional circumstances only (rare) and it would

threaten functional goals / objectives (major impact).

Power failure: this risk is most likely to happen in most situations in Panipat (likely)

and it will intimidate the functional goals or objectives. Power crisis may also lead to

short-circuiting or other electrical problem that may damage the equipments that

might lead to the above circumstances (Major).

Personal shortfall: This risk could happen with the developer due to getting in poor

health. If this risk happens, it may lead to having necessary modification done to

resource allocation so it bears moderate risk.

Communication Failure: As described in the risk identification section this risk could

occur and it will result in undesired features or delay in work.

Unrealistic schedule budget: If the developer has a accurate planning to developed the

system and regular meeting with the supervisor regarding the project progress then the

project delay will be less often (unlikely) but if this risk occurs it will be a hamper the

related module as well as the system as a whole, thus the consequence is moderate.

Loss of data storage devices: there are very rare chances that the data storage device

will be lost (rare). This risk will lead to complete loss of project (major).

Contingency plan:

Contingency planning is a systematic approach to identifying what can go wrong in a

situation. Rather than hoping that everything will turn out OK or that "fate will be on your

side", a planner should try to identify contingency events and be prepared with plans,

strategies and approaches for avoiding, coping or even exploiting them.2

This is a very important plan to having planning for the recognized risks have been done.

This is important so as to be ready with a means of overcoming the risk. On the basis of the

priority of the risks the contingency plan for the risks are as follows:

2 http://planningskills.com/askdan/6.php

PTL00782209 Asia Pacific Institute of Information Technology Page 24

Page 25: Mridul FYP FINAL Solution

Smart Mail

Risk Strategy Risk OwnerSecurity Prevent data loss by

maintaining backupsDeveloper

Academic Documenting the work regularly will help in maintaining the backup and easier to resume the work

Developer

Power Failure Availing the power backup facility for project, maintaining backup of the project.

Communication failure Formulate a proper communication plan

Booth Supervisor and supervisee together

Unrealistic scheduling budget

Proper scheduling of projectMonitoring the project at regular interval

Both supervisor and supervisee together

Loss of data storage and devices

Maintain backup in other physical devices

Developer

Table 7: contingency plan for Smart mail

PTL00782209 Asia Pacific Institute of Information Technology Page 25

Page 26: Mridul FYP FINAL Solution

Smart Mail

1.4Work Break- Down Structure:

1.5 Project development:

While the project follows the four major phases of the RUP model, I have broken down the

overall process to some more detailed tasks for the development plan; here is a breakdown

list of the plan with its possible durations:

PTL00782209 Asia Pacific Institute of Information Technology Page 26

Smart Mail

Inception

Iteration1:

Project Initiation

Iteration 2:

Preliminary Scope

Iteration 3: Developme

nt Plan

Elaboration

Iteration 1:

Primary Analysis

iteration 2: System

research

Iteration 3:

Requirement Analysis

Iteration 4:

System Design

Iteration 5:

technical Skills

Learning

Construction

Iteration 1:

Software

Acquisition

Iteration 2: database

development

Iteration 3:

Interface Design

Iteration 4: System

design

Transition

iteration 1: Sytem

Integration, Sytem testing

Iteration 2:

System Optimiz

ation

Iteraion 3:

Project Ending

Page 27: Mridul FYP FINAL Solution

Smart Mail

Start date: 3rd August 2010

Duration: 36 Weeks

End date: 25th April 2011

1. Project Definition

Duration: 1 week

Tasks:

Idea Generation

Project Title Selection

Feasibility Studies

Abstract Draft Project Proposal

2. Project Planning

Duration: 3 weeks

Tasks:

Work Breakdown Structure

Schedule and Time Estimation

Critical Path Method

Gantt Chart

Project Proposal Form

3. Requirement Analysis

Duration: 12 weeks

Tasks:

Identify project specifications

- Project Background

- Resources required

- Techniques to be learnt

- Goals and Objectives

- Determine System Functionalities

- Identify scope of research

Project Specification Form

PTL00782209 Asia Pacific Institute of Information Technology Page 27

Page 28: Mridul FYP FINAL Solution

Smart Mail

Investigation ad Research

- Human Computer Interaction

- Multimedia Design Principles

- Current email client applications

- User requirements

Analysis

- User Modeling and Profiling

- Domain analysis

- System analysis

- Risk analysis

4. System Design

Duration: 3 weeks

Tasks:

Navigational Design

- Story Boarding

- Data flow Diagram

Abstract Interface Design

- Screen layout

- Content Design

- Interactivity Design

- Functionality Design

5. Prototyping

Duration: 10 weeks

Tasks:

Creating Prototypes

Evaluate Prototype feedbacks

6. Production and Implementation

Duration: 1week

Tasks:

Code generation

PTL00782209 Asia Pacific Institute of Information Technology Page 28

Page 29: Mridul FYP FINAL Solution

Smart Mail

Mid point Interview

Module Integration

7. Testing and Evaluation

Duration: 4

Tasks:

Prototype Evaluation

Test Plans

Unit Testing

Integration Testing

System Testing

Critical Evaluation

8. Project Ending

Duration: 2 weeks

Tasks:

Submission of the finished product

Presentation

PTL00782209 Asia Pacific Institute of Information Technology Page 29

Page 30: Mridul FYP FINAL Solution

Smart Mail

Chapter 2

PTL00782209 Asia Pacific Institute of Information Technology Page 30

Page 31: Mridul FYP FINAL Solution

Smart Mail

PROBLEM DESCRIPTION

While email is now widely accepted, it only represents a developing stage that will over the

next five years develop into entirely new forms of communications that more directly and

efficiently suit the needs of businesses and organizations.

1. Problem: Existing system has the ability to split attachments into chunks.

Justification: This can be both annoying, if it was setup without knowing, or

useful. Some Service Providers have a maximum limit on the size of emails. So your

email Service provider may only allow a maximum of 1mb and will reject everything

above that.

2. Problem: Have you noticed when you try and click on a hyperlink in an email,

nothing happens.

Justification: This could be a number of reasons:

Virus Software is preventing links from opening

Default Browser is not set correctly

Windows File Association for web pages could be wrong

3. Problem: In a existing system I have found that as many times user receive an email

from an address and user just delete it.

Justification: It may be as simple as just unsubscribing from the mailing list.

However, sometimes you may just want to block the email address so it doesn't end

up in your Inbox.

4. Problem: most users do not want that their email and password should be saved in a

particular site. It has a large security problem.

Justification: In the proposed system developer will use the RSA encryption method;

here messages are translated into sequences of integers. This can be done by

translating each letter into an integer, as is done with the Caesar cipher. These integers

are grouped together to form larger integers, each representing a block of letters.

5. Problem: Other existing system has trouble downloading new mail.

PTL00782209 Asia Pacific Institute of Information Technology Page 31

Page 32: Mridul FYP FINAL Solution

Smart Mail

Justification: These problems can occur if you do not compact the Inbox. The

mailboxes require intervallic protection to avoid such problems from occurring. By

the time the problems occur, compacting the Inbox, though still required, may not be

sufficient to resolve the problem. In the proposed system this kind of problem won’t

be happen. Because the developer will use the actual methodology of SMTP and

POP3 protocol.

6. Problem: Same mail messages continue to be downloaded from POP3 account.

Justification: If your POP3 mail account is configured to "leave a copy of messages

on the server" it sometimes happens that OE downloads the same messages each time

you send and receive. This is caused by a damaged Pop3 file in your Identity's store

folder.

7. Problem: I had found sometimes that many existing system has trouble to

downloading new mail.

Justification: When this happens, you may receive new messages that are empty when

you try to open them or multiple entries for the same new messages in the inbox.

8. One common problem in some existing system is that users experience is an inability

to send messages. If you are unable to send messages, try deleting the outgoing mail

(SMTP) password for your account.

Nature of challenge :

The main challenge of the proposed system consists of several categories:

Security: Maintaining security and privacy is one of the most demanded features for any

browser. So creating an application with a secure environment is major issue. The security

issues are major challenge as the system will provide users to access the data from their

choosing mail site without login in offline, it also means that without having internet users

can see their mail boxes.

Creating enhanced user interface: User interface is one of the major success criteria for any

user oriented system. So, developing a user interface by keeping in mind user requirements is

hard to achieve.

PTL00782209 Asia Pacific Institute of Information Technology Page 32

Page 33: Mridul FYP FINAL Solution

Smart Mail

Password Manager: Log on to e-mail, social networking sites, banks and other sites in just a

single click by keeping the password saved can be an advanced feature. Passwords are

encrypted and stored safely on the server.

Without login: user can access multiple account from the proposed system at the same time

and at same window. User does not need to login all the time to access their multiple

accounts. Because the proposed system has a option like” Remember password”. If the user

click this option after giving their necessary information to log in to smart mail. Until user

uncheck the that particular option user does not need to login again and again to use the

system.

PTL00782209 Asia Pacific Institute of Information Technology Page 33

Page 34: Mridul FYP FINAL Solution

Smart Mail

Chapter 3

PTL00782209 Asia Pacific Institute of Information Technology Page 34

Page 35: Mridul FYP FINAL Solution

Smart Mail

LITERATURE REVIEW

Research is of prime importance for any successful project development. It gives movement

to developers’ ideas and provides for the theoretical background for any project development.

This section will with the developer’s existing knowledge and secondary research. The

section will also present a domain analysis any such existing systems.

Email is the most preferred communication medium for businesses around the world today

and providing protected and pervasive access to it is the key to increased productivity of any

successful business. Smart Mail provides intelligent access to Email, contacts directory and

calendar. Interaction with Smart Mail is multi-modal providing hassle-free access to the

user. Smart Mail alerts the users based on their alert rules. Users can access Smart

Mail through any mode/device of their choice to read, reply, compose, and forward emails

and attachments. 3

E -mail is the most widely used application and it has become the application that users

spend much of their time using it [1, 2]. E-mail clients are used every day in our lives and they

can be the reason of buying personal computers. Therefore, Duchenaut and Bellotti called it

habitat [3]. E-mail is designed to enable none-face to face communication but because it is

widely used nowadays it is being used for additional functions which e-mail is not designed

for, therefore it is called overloaded [4]. Many studies showed that the number of e-mail

messages rapidly grows. For example, the University of California stated that about 31 billion

e-mail messages have been sent in 2007 and this number might be doubled in 2010. In other

study, it has been shown that the average user gets around 49 e-mail messages a day while

high volume users can get more than hundred [1]. It has been shown that the average user gets

around 49 e-mail messages a 4day. While high volume users can get more than hundred. By

leaving these e-mail messages in the e-mail inboxes they will be very difficult to use and they

will be cluttered.

3 http://www.openstream.com/smartmail.htm4[1] Rohall, S.L., Redesigning Email for the 21 stCentury Workshop Position Paper. CSCW 2002 Workshop:

Redesigning Email for the 21st Century. New Orleans, LA, 2002.

[2] Sudarsky, S. and R. Hjelsvold, Visualizing electronic mail. Information Visualisation, 2002. Proceedings. Sixth International Conference on, 2002: p. 3-9.

[3] Duchenaut, N. and V. Bellotti, Email as habitat. Interactions, 2001. 8(5): p. 30-38. [4] Whittaker, S. and C. Sidner, Email Overload: Exploring Personal Information Management of Email. 1996.

PTL00782209 Asia Pacific Institute of Information Technology Page 35

Page 36: Mridul FYP FINAL Solution

Smart Mail

Although e-mail applications are widely used and many studies have been performed but it

has not been significantly treated and researched in term of usability aspects. Although most

of the e-mail clients use the textual table view to presents the e-mail messages, different

problems are exist when browsing large amount of e-mail messages. For example users will

take long time to locate a specific e-mail message.

Filtering and using folders has been proposed and suggested to be the way of organizing the

e-mail inboxes which will make the navigation easier. Many studies showed that using

folders and filtering features has many problems5. Auto classification and automatic folders

creation has been proposed to be a solution, but it has proven error prone [1]. Apart of using

filtering and auto classification of e-mail messages many studies have been performed in

order to provide an alternative approach to the textual table approach. Most of these studies

used different visualization techniques with the information hiding concept in order to present

the e-mail messages and data.

Research is a significant attribute in determining the accomplishment of a project, as it

provides complete coverage of knowledge, better insights and understanding of the required

area. The type of research to be applied in this project will be mainly primary researches,

such as questionnaires. Specific interviews with some of the experts in the mail system will

be essential in order to gather the correct and accurate information required. As Smart mail is

a mail client system is still advanced system, there is not much information from the

television or books about it, and the only solution is to gather information from the student

who have been active to using the mail for some time.

The development of this project requires a deep insight in many new concept of software

development. Major research area for the development of the project can be:

Key concepts of client server architecture.

Concept of software design methodology.

Usability principles.

Human Computer Interaction Principles.

The advanced concept of .NET and C# framework.

The advanced concept of database management.

5 Rohall, S., et al., Email Visualizations to Aid Communications. IEEE Symposium on Information Visualization (InfoVis), 2001

PTL00782209 Asia Pacific Institute of Information Technology Page 36

Page 37: Mridul FYP FINAL Solution

Smart Mail

To understand and implement the concept of content management systems using

advanced .NET framework.

Understanding the very concept of Email client.

To know and implement the protocols for mail client development.

To have a huge ground exposure to large databases.

To understand the concept of design issues and user feedback.

To understand the concept of SMTP and POP3 protocol.

To understand the concept of RSA Encryption method.

Preliminary researches are being carried with the help of the following sources. As research

work progress more items will be added to the list.

Advanced Preliminary:

The proposed system is being developed for mail system. So, a study of the various principles

of this field is required.

3.1 RSA Encryption: RSA is unique. All other encryption systems use the same key to

encrypt as to decrypt, just like a normal lock and key. RSA splits the key into two, an

Encryption key (the public key because who cares what you En-crypt) and a Decryption key

(private key). Anyone can encrypt a file for you (using your public key) but only you can

decrypt it (using your private key). It is accepted by mathematicians that provided a large key

length is used, RSA is impossible to crack.

The RSA algorithm is one of the most common methods for public key encryption and

signature creation. It is based on the intractability of factorization and discrete logarithm; the

RSA function, when implemented, consists of one modular exponentiation. Despite its

simplicity when formularized, RSA is actually quite challenging for developers of embedded

systems, because it needs to work on 1024 - 4096 bit long numbers to achieve adequate

security level.6

Encryption has been used for many years as the only effective way of securing information

on the internet. So it's no surprise that encryption is the best way to secure your email.

Secure-mail uses the worldwide standard AES and RSA encryption algorithms, recognized

by the US National Institute of Standards and Technology as the best available.

6 http://ijns.femto.com.tw/contents/ijns-v10-n2/ijns-2010-v10-n2-p157-160.pdf

PTL00782209 Asia Pacific Institute of Information Technology Page 37

Page 38: Mridul FYP FINAL Solution

Smart Mail

When the secure-mail hub is first installed a unique key pair is generated. This key pair

comprises a private and public key. The private key is held by you and stored on your Secure-

mail hub as well as backed up on the USB key which you use for the initial installation. The

public key is sent, so that it can be disseminated to all other Secure-mail users. At this point,

any other public keys are received by your hub. This is done automatically and at regular

intervals to ensure that you always have up to date public keys on your hub.

The body and any attachments in the email will at first be encrypted with a symmetric 256 bit

key, randomly generated by the hub. This is then encrypted with the recipient’s public key

which is a 4096 bit asymmetric key. When the email is received by the intended recipient, the

email is unencrypted as it passes through the recipient’s secure-mail hub or when it is opened

if the recipient is using the software version, Secure-mail.

3.2 SMTP: The objective of the Simple Mail Transfer Protocol (SMTP) is to transfer mail

reliably and efficiently. SMTP, a process can transfer mail to another process on the same

network or to some other network via a relay or gateway process accessible to both networks.

When an SMTP client has a message to transmit, it establishes a two-way transmission

channel to an SMTP server. The responsibility of an SMTP client is to transfer mail

messages to one or more SMTP servers, or report its failure to do so.

The means by which a mail message is presented to an SMTP client, and how that client

determines the domain name(s) to which mail messages are to be transferred is a local matter,

and is not addressed by this document. In some cases, the domain name(s) transferred to, or

determined by, an SMTP client will identify the final destination(s) of the mail message. In

other cases, common with SMTP clients associated with implementations of the POP or

IMAP protocols, or when the SMTP client is inside an isolated transport service environment,

the domain name determined will identify an intermediate destination through which all mail

messages are to be relayed.

To affect a mail transfer to an SMTP server, an SMTP client establishes a two-way

transmission channel to that SMTP server. An SMTP client determines the address of an

appropriate host running an SMTP server by resolving a destination domain name to either an

intermediate Mail exchanger host or a final target host.

PTL00782209 Asia Pacific Institute of Information Technology Page 38

Page 39: Mridul FYP FINAL Solution

Smart Mail

An SMTP server may be either the ultimate destination or an intermediate "relay" or

"gateway". SMTP commands are generated by the SMTP client and sent to the SMTP server.

SMTP replies are sent from the SMTP server to the SMTP client in response to the

commands.

In other words, message transfer can occur in a single connection between the original

SMTP-sender and the final SMTP-recipient, or can occur in a series of hops through

intermediary systems. In either case, a formal handoff of responsibility for the message

occurs: the protocol requires that a server accept responsibility for either delivering a

message or properly reporting the failure to do so.

Once the transmission channel is established and initial handshaking completed, the SMTP

client normally initiates a mail transaction. Such a transaction consists of a series of

commands to specify the originator and destination of the mail and transmission of the

message content (including any headers or other structure) itself. When the same message is

sent to multiple recipients, this protocol encourages the transmission of only one copy of the

data for all recipients at the same destination (or intermediate relay) host.7

3.3 8POP3: POP3 Protocol is used to receive incoming mail messages. These options consist of security options as well as optimization options.

Maximum Threads: A thread supports one message and requires memory and CPU

usage. Once the message reaches its final destination the thread is released and

another message can use the thread. Raising the limit of threads will enable the server

to handle more messages simultaneously, but requires more CPU usage and memory.

If the maximum thread limit is reached, the server will reject messages and send an

error to the sender.

Session Timeout: Timeout settings determine the length of time for the Internet

connection between the mail server and the email client on a desktop computer. A

session timeout is the amount a time a session or connection stays open from the mail

7 http://www.faqs.org/rfcs/rfc2821.html

8 http://help.smartertools.com/Documents/SmarterMail_1x_Help.pdf

PTL00782209 Asia Pacific Institute of Information Technology Page 39

Page 40: Mridul FYP FINAL Solution

Smart Mail

server to the email client, regardless of whether or not a command is issued. For

example, clicking the "Send" button once to send messages to 1000 email addresses.

Command Timeout: Enter the level of inactivity in seconds that occur between the

mail server and an email client that the server will tolerate prior to closing the

connection. In order to keep the mail session open, the email client has to issue a

command before this time limit expires.

Maximum Bad Commands: Enter the number of bad commands that the mail server

will accept before closing the connection with the email client (ending the session).

Bad commands take place when the email client from a desktop computer sends a

command out of sequence or when the Internet connection is interrupted.

Enable APOP: APOP stands for Authenticated Post Office Protocol. Every mail

connection made sends your username and password across the network in clear text

(no encryption). With APOP enabled, your password is encrypted while being

transmitted over the Internet.

CONCLUSION

By reviewing the previous research and studies that have been performed in browsing e-mail

data it has been inferred that using graphics alone is not sufficient for enhancing e-mail

usability. Information hiding is not good solution for reducing the graphical complexity

because it might hide critical information. This information can be presented using other

modality such as the auditory channel. The combination of different modalities can enhance

the usability of any information system. The e-mail message based on the basic e-mail

properties and presents the other using different modalities. The anticipated benefits of this

tool are expected to be significant and effective because the e-mail applications are widely

used.

3.5 Similar Existing Systems:

There are mail client services that are available in the market today. Given below is a brief

description of some of the most popular mail clients.

PTL00782209 Asia Pacific Institute of Information Technology Page 40

Page 41: Mridul FYP FINAL Solution

Smart Mail

Outlook express:

Microsoft Outlook, formerly Microsoft Office Outlook, is a personal information

manager from Microsoft, available both as a separate application as well as a part of

the Microsoft Office suite. The current version is Microsoft Outlook 2010 for Windows.

Although often used mainly as an e-mail application, it also includes a Calendar, Task

Manager, Contact Manager and web browsing. It can be used as a stand-alone application, or

can work with Microsoft Exchange Server and Microsoft Office SharePoint Server for

multiple users in an organization, such as shared mailboxes and calendars, Exchange public

folders, SharePoint lists and meeting schedules

Pegasus Mail :9

Pegasus Mail is an e-mail client that runs on computers using Microsoft Windows: by client,

we mean that it interacts directly with the user, allowing mail to be sent, read, filed, printed

and otherwise manipulated through a graphical interface. Probably one of the most feature-

rich mail clients available, most users say that they find the program easy to use despite its

richness. Small and fast, Pegasus Mail can be left running permanently on the workstation

and includes powerful tools to notify the user when new mail arrives.

Simple mail: Simple Mail is a simple to use but powerful mail client. It supports the SMTP,

POP3 and IMAP (in a simple form) protocols. Furthermore, among many other features, it is

capable of showing HTML mails and can identify spam mails by using a Bayesian filter.10

Benchmarking with System Functionality between the Existing System

Knowledge Features Proposed Smart mail Outlook express Pegasus mail

Multilingual availability X X X

Security X X X

9 http://www.pmail.com/10 http://en.wikipedia.org/wiki/SimpleMail

PTL00782209 Asia Pacific Institute of Information Technology Page 41

Page 42: Mridul FYP FINAL Solution

Smart Mail

Mail filtering X X X

MailMerge X X X

Proper Hyperlinks X X X

Without login X

Integrated Features

Document Workflow X

Email Notification(For Inactive

User)

X

Sorting mail X X X

Spelling checker X X X

Multiple folder formats X X X

Powerful encryption method X

Special Features

Multi account access X

Table 8: Functionality comparison with the existing system

Hardware requirement: The hardware needed for this project are listed below. The

specification of the PC is:

Processor Intel Pentium 4-1.3GHz or faster or AMD

Ram 512 MB DDR-Win XP2GB DDR- Vista Business or Vista Ultimate

Hard drive 1 GB

Memory 256 MB

Monitor Any standard monitor

Software requirement: In order to carry out the development of this project, many software

are needed, these include Microsoft Windows XP, which shall be the operating system for the

project to be developed; internet connection will also be needed in order to come up with the

interactive user interface and objects. List of software

Operating system Windows XP

PTL00782209 Asia Pacific Institute of Information Technology Page 42

Page 43: Mridul FYP FINAL Solution

Smart Mail

Windows vistaWindows 7

Business software Office 2000, 2003, 2007, 2010

Licensing Internet connections required for all computers

Presentation Microsoft powerpoint

Gantt Chart Microsoft project 2003

Diagram Microsoft visio 2003/07

Design Macromedia Dreamweaver 8.0

The main tool and programming language tool be used the most for the project are .NET,

SQL Server 2005. In the RSA encryption method, messages are translated into sequences of

integers. This can be done by translating each letter into an integer, as is done with the Caesar

cipher. These integers are grouped together to form larger integers, each representing a block

of letters.

Windows components

After you have installed the operating system and applied all critical updates, you must

configure the computer to be a Web server by enabling Internet Information Services (IIS)

6.0, including:

WWW

Simple Mail Transfer Protocol (SMTP)

To enable e-mail notifications, you need to configure incoming and outgoing e-mail settings.

To configure sending e-mail alerts and notifications, you must specify an SMTP e-mail

server. To configure your installation so that your SharePoint sites can accept and archive

incoming e-mail, you must install the IIS SMTP service.

Microsoft .NET Framework 3.0

Before installing Office Project Server 2007, you must install the Microsoft .NET Framework

3.0 and then ensure that ASP.NET 2.0 is enabled.

PTL00782209 Asia Pacific Institute of Information Technology Page 43

Page 44: Mridul FYP FINAL Solution

Smart Mail

PTL00782209 Asia Pacific Institute of Information Technology Page 44

Page 45: Mridul FYP FINAL Solution

Smart Mail

Chapter 4

PTL00782209 Asia Pacific Institute of Information Technology Page 45

Page 46: Mridul FYP FINAL Solution

Smart Mail

RESEARCH METHODS

Primary ResearchUser requirement is the main point of view for any developmental movement. User accepts

only those products which are able to complete their functions. Primary research is very

supportive in receiving information from user. Developer did the primary research in order to

verify the feasibility of the proposed system. The following activities were conducted in order

to gain information from the users:

QuestionnairesA questionnaire is basically a survey. It is usually a short survey that takes specific

information. This kind of fact-finding method is applied to obtain more information from the

people who are significant for the system and having very fewer times for participation for

the reason that of their daily schedule. The questionnaires are also important for congregation

information from the users who are related to the project but are geographically separated

from each other.

The primary intention of distributing of this questionnaire is to further justify and to gain the

user support of implementation of the proposed system and to know the kind of feature that

those respondents anticipate and as well as any existing system that the user came across. A

total of 15 respondents have taken part this survey. The questions in the questionnaires are as

follows:

1. Do you want scheduler in the system?

Yes

 No

Justification: If you are too often send messages on the schedule, the Email

Scheduler plug in will help you fully automate this process. Now you can set a certain

date and time to send out specific messages. Furthermore, Email scheduler can work with

attached a file, which allows you to, for example, send certain documents periodically.

2. Are you using any current system?

PTL00782209 Asia Pacific Institute of Information Technology Page 46

Page 47: Mridul FYP FINAL Solution

Smart Mail

Yes

No

Justification: This question would help me to know that whether users want or not to use

such kind of system.

3. Do you want user groups?

 Yes

 No

Justification: When you are in an Active Directory network environment, you can set Smart

mail policies to enforce settings on a specific or a group of users. This is mainly to be used to

change or limit the default behavior of Outlook in a corporate environment but can also be

useful in some home environments. For instance, as a home user you might want to set

policies on what your children can and cannot do in Outlook.

4. Do you want attaches from one group to another?

Yes

No

Justification: this would ask to know, whether the user want to use this functionality or not.

5. Do you face any problem in current system?

 Yes

No

Justification: This question asks to the user who has facing problem during opening their

mail client. If a user wants to open his mail account in different site (like Gmail, yahoo,

hotmail etc.) for several times then user need to login more than a few times to access the site

which is a cumbersome task.

6. How important do you think is the transparency in the sharing of information between

a user and a mail-client (SmartMail) system?

PTL00782209 Asia Pacific Institute of Information Technology Page 47

Page 48: Mridul FYP FINAL Solution

Smart Mail

 Important.

Very important.

Does not affect.

Justification: This question asks to the user to know how much important of sharing

information regarding their mail account and security risk pertaining to their account.

7. Do you think having a Mail client like Smart mail will help you to reduce your time

and cost?

 Yes.

 No.

Justification: Smart mail will provide user to access their different mail account without

login their account. They can access different account from Smart Mail at the same time. So

that my system will reduce the user time and cost.

8. Do you want the system will provide the user to access the updated mail even if the

user doesn’t need to login all the time?

 Yes.

 No.

Justification: user can access multiple accounts from this system (Smart Mail) faster rather

than use of other system. This will help the user to access multiple accounts information in a

single window (in Smart mail).

9. Do you want your customize setting or just system default?

 Yes

 No

Justification- Designed to find out is user want customized setting or system default, which

cannot be change by user.

PTL00782209 Asia Pacific Institute of Information Technology Page 48

Page 49: Mridul FYP FINAL Solution

Smart Mail

10. What are the difficulties you face when you use other mail client like outlook

express?

 My internet is slow so its hanged every time

Most of the interface is not user friendly

 If my internet connection goes down there is no option to resume it.

Justification- to know common difficulties of user has to face when they use similar kind of

other system. This would help to reviewing user problems and preparing a solution to that

problem.

11. Do you think a good user interface is a key point for the portal to succeed among

students?

 Yes.

 No

Justification: human Computer Interaction is a primary point of view to releasing a

system. This question asks to the user to know how my system will be look like so that user

cans interact with the system more effectively and efficiently.

12. Do you think having a calendar planner help you out in planning events and meeting

deadlines?

 Yes.

 No

Justification: Appointments are activities that you schedule in your calendar that do not

involve inviting other people or reserving resources. You can set reminders for your

appointments. A meeting is an appointment you invite people to or reserve resources for.

You can create and send meeting requests and reserve resources for face-to-face meetings or

for online meetings. 

PTL00782209 Asia Pacific Institute of Information Technology Page 49

Page 50: Mridul FYP FINAL Solution

Smart Mail

The das has been collected from the following material.

Information and Resources

In order to carry out the researches listed above, information are to be gathered from different sources, such as:

Books:

1. The Bliss or "Diss" Connection?: Email Etiquette for the Business Professional by

Cherie Kerr and Jim Doody

2. Business E-Mail: How to Make It Professional and Effective by Lisa A. Smith 

3. Outlook 2003 Conquer Email Overload with Better Habits, Etiquette and Outlook

2003 by Peggy Duncan

4. Professional ASP.NET 4 in C# and VB by Bill Evjen, Scott Hanselman, and Devin

Rader

5. Microsoft .NET: Architecting Applications for the Enterprise (PRO-

Developer) by Dino Esposito and Andrea Saltarell

6. Ultra-Fast ASP.NET: Build Ultra-Fast and Ultra-Scalable web sites using ASP.NET

and SQL Server by Rick Kiessig

7. SQL Bible (Bible (Wiley)) by Alex Kriegel and Boris M. Trukhnov 

8. ASP .NET Programming with C# & SQL Server (The Web Technologies) by Don

Gosselin. 

9. Beginning ASP.NET 2.0 in C# 2005: From Novice to Professional (Beginning:

From Novice to Professional) by Matthew MacDonald, Matthew MacDonald, and

Julian Templeman.

10. Pro ASP.NET 4 CMS: Advanced Techniques for C# Developers Using the .NET 4

Framework by Alan Harris

11. Project Management: A Systems Approach to Planning, Scheduling, and Controlling

by Harold Kerzner

12. Modern Database Management (9th Edition) by Jeffrey A. Hoffer, Mary Prescott,

and Heikki Topi

Magazines:

Mori Seiki Send

PTL00782209 Asia Pacific Institute of Information Technology Page 50

Page 51: Mridul FYP FINAL Solution

Smart Mail

People:

Student Casual and novice user Professional Race driver Supervisor Lecturer

Websites: http://www.pmail.com/ http://www.mailcopa-emailsoftware.com/ http://jmailbox.org/ http://www.emclient.com/ http://www.w3schools.com/xml/default.asp http://www.myflashxml.com/ http://www.w3schools.com/asp.net/ajax http://www.w3schools.com/asp.net http://www.w3schools.com/wsdl/default.asp http://www.w3schools.com/js/default.asp

Real World Methods and Practices

Methods and practices used in the real world can be useful and effective in researches, in

order to carry out the research required for this project, these methods will be used:

Fact-finding - Some resources from the web can be helpful, there are some good

sites which provide a good amount of information, pictures, and even video clips,

not only that, forum is a good place to seek for further enquiries. A lot of great

drifters do spend quite some time on some specific forums, in which they use it to

share information and prepare events, gatherings and so on. Besides that, mail

magazines are also recommended for fact finding.

Questionnaires – To retrieve feedbacks, opinions from majority users (casual and

novice), questionnaires is an extremely useful method, it can be done on papers, or

do it online through Email.

Interview – There are different methods for interviewing, there is the use of phone

interviewing, online message communication, and the commonly used face to face

interviews. These methods will be applied based on the different needs or

requirements by the interviewees.

Observation – visiting or attending email events will also be very helpful in my

project research, to see how it is done in front of my eyes will mean much more than

PTL00782209 Asia Pacific Institute of Information Technology Page 51

Page 52: Mridul FYP FINAL Solution

Smart Mail

reading from some sources.

Current Application – analysis other existing application of the similar kind can also assists

in the development process, it will be positive to learn from others mistake or success.

Technical Research

What is a Methodology?

Software engineering is carry out of using preferred procedure techniques to progress the

quality of a software development effort. A methodology is defined as a collection of

procedures, techniques, tools, and documentation aids which will help developers in their

efforts (both product and process related activities) to implement a new system. For

successful implementation, a well-organized and systematic approach is crucial. Therefore,

several methodologies were developed to encourage the systematic approach to planning,

analysis, design, testing and implementation. Methodologies offer various tools and

techniques to assist in analysis, design and testing in terms of detailed design of

software, data flowcharts and database design.

Why Methodology?

To complete a project within time and budget with the expected scope and quality we

need methodologies which provide for a framework.

Most methodologies have a general planning, developing and managing stages in

common. They suggest the development team the ways of thinking, learning and

arriving at a regular feasible solution.

To select an ideal methodology was based on project requirements and goals.

Functional Decomposition: The methodology should have stages according to the

interrelated activities which can be grouped into different functional areas.

Requirement Changes: If required, methodology provides scope to change the

requirement.

Manage Risks: Determined the risk is an important activity to develop a project.

Iterative approach: Iteration allows refinement of requirement as well as design.

Documentation: Methodology provides support for large documentation.

PTL00782209 Asia Pacific Institute of Information Technology Page 52

Page 53: Mridul FYP FINAL Solution

Smart Mail

Analysis and Design Support: A well defined structure of the methodology helps for

analysis and designing to development process..

Implementation: The system should be implemented as per plan.

Testing Support: More testing, more reliable the product is.

Object Oriented Approach: Object oriented concepts will be used in developing the

project as it supports component reusability.

Suitable Methodologies:

Waterfall Methodology: All projects can be managed better when segmented into a

hierarchy of chunks such as phases, stages, activities, tasks and steps. It follows a linear

structure starting from requirement analysis, through design, implementation and

maintenance. Most widely accepted methodology for student projects, this model has been

well tried and tested. Each phase of it has sub phases which produce deliverables.

Requirements are fixed at initial stages before proceeding with development plans in system

development projects; the simplest rendition of this is called the "waterfall" methodology, as

shown in the following figure:

Fig 2: waterfall model

The graphic illustrates a few critical principles of a good methodology:

Work is done in stages,

Content reviews are conducted between stages, and

Reviews represent quality gates and decision points for continuing.

The waterfall provides an orderly sequence of development steps and helps ensure the

adequacy of documentation and design reviews to ensure the quality, reliability, and

PTL00782209 Asia Pacific Institute of Information Technology Page 53

Page 54: Mridul FYP FINAL Solution

Smart Mail

maintainability of the developed software.  While almost everyone these days disparages the

"waterfall methodology" as being needlessly slow and cumbersome, it does illustrate

Spiral Model: While the waterfall methodology offers an orderly structure for software

development, demands for reduced time-to-market make its series steps inappropriate. The

next evolutionary step from the waterfall is where the various steps are staged for multiple

deliveries.  The ultimate evolution from the water fall is the spiral, taking advantage of the

fact that development projects work best when they are both incremental and iterative, where

the team is able to start small and benefit from enlightened trial and error along the way. 

The spiral methodology reflects the relationship of tasks with rapid prototyping, increased

parallelism, and concurrency in design and builds activities. The spiral method should still be

planned methodically, with tasks and deliverables identified for each step in the spiral

This model is a better alternative if requirements are not well known in advance. It follows an

iterative approach in system design. It extends the waterfall model by involving prototyping.

It is generally preferred when project are large and complicated. The steps in this model are:

High level requirement specification is drawn up

Tested by building a prototype solution

Prototype is reviewed and requirements are clarified or changed and amended

requirements specification is issued

The cycle is repeated until requirements are final and user approves the design.

Fig 3: Spiral model

Rational Unified Process (RUP) Modelling: Rational Unified Process Model offers features

which are very useful for the development of this project. Features like iteration, repetitive

PTL00782209 Asia Pacific Institute of Information Technology Page 54

Page 55: Mridul FYP FINAL Solution

Smart Mail

testing, etc. will help in developing the system which is far more effective and error-free.

RUP consists of four phases which can be altered to suit my needs. As iteration is a key

feature of this model it is very useful for the development of student project as developer

requires a repetitive check of the key features. All the activities of the project will now be

divided and scheduled wisely so that the project can be finished on time.

Roles (who) – A Role defines a set of associated skills, competences, and

responsibilities.

Work Products (what) – A Work Product represents something resulting from a task,

including all the documents and models produced while working through the process.

Tasks (how) – A Task describes a unit of work assigned to a role that provides a

meaningful result. Within each iteration, the tasks are categorized into nine

disciplines: six "engineering disciplines" (Business Modeling, Requirements,

Analysis and Design, Implementation, Test, Deployment) and three supporting

disciplines (Configuration and Change Management, Project Management,

Environment). RUP facilitates changing of requirements at the later stages of

development as incremental and iterative approaches are assimilated to accommodate

changes over a time.

RUP provides a full lifecycle approach covering a series of product lifecycle phases

called inception, elaboration, construction, and transition.

RUP Provides a software development method and a set software engineering

practices that cover the majority of software development disciplines

RUP iterative. Within each phase, the project undergoes multiple iterations ; the

nature of each is determined in part by the life cycle phase. Early iterations build the

business case and the requirements and architectural baseline. Later iterations focus

on implementation and transition to the development.

RUP is incremental; each iteration builds on the functionality of the prior iteration;

the software application evolves in this fashion with the benefit of regular and

continues feedback. 

The various phases of RUP model is:

Inception Phase

Elaboration phase

PTL00782209 Asia Pacific Institute of Information Technology Page 55

Page 56: Mridul FYP FINAL Solution

Smart Mail

Construction Phase

Transition phase

Fig 4: RUP model

Inception phase:

This phase deals with the various research works on the proposed system. It helps in

formulating the scope of the project. The core features that are to be incorporated into the

system are practically identified in this phase. The targeted audience is then identified and the

various tasks to be carried out is divided and scheduled. This phase also includes an initial

risk assessment against the project implementation.

Plan and prepare the business case. Establish the project software scope and boundary

conditions, including an operational vision and acceptance criteria.

Estimates the overall cost and schedule for the entire project

Estimate potential risks especially time, human and of course money

Synthesize a candidate of architecture, evaluating trade-offs in design and in

make/buy/reuse so that cost, schedule and resources can be estimated.

Prepare the environment for the project, selecting tools and deciding which parts of

the process to modify.    

Elaboration phase:

PTL00782209 Asia Pacific Institute of Information Technology Page 56

Page 57: Mridul FYP FINAL Solution

Smart Mail

The primary objective is to mitigate the key risk items identified by analysis up to the end of

this phase. The elaboration phase is where the project starts to take shape. In this phase the

problem domain analysis is made and the architecture of the project gets its basic form.

This also includes data gathering, analyzing and designing the proposed system. It shall

contain the academic and domain research on knowledge universities and university portals.

It is this phase that makes a comparative study of similar products available in the market and

what add-ons can be incorporated to the current project. Once finished, the questionnaires

and interview sessions with concerned users are conducted. The outcome of the research

work is used for planning out the system requirement specification which will be

documented. The requirement specification will be used for the later development phases of

the system.

Address architecturally significant risks of the project and implement baseline

architecture to address them.

Produce exploratory, throwaway prototypes to mitigate critical risks.

Demonstrate that the architecture will support the requirement of the system.

Refine the vision of the basis of new information obtained during the phase.

Create initial iteration plans and release plans for the construction phase

Refine the development  case and put the development environment in place

Refine the architecture and select components

Construction phase:

The primary objective of this phase is to build the software system. The main focus here is on

the development of components and other features of the system. This is the phase when the

bulk of the coding takes place. In larger projects, several construction iterations may be

developed in an effort to divide the use cases into manageable segments that produce

demonstrable prototypes.

During the construction phase, all the individual modules are developed and finally integrated

to the product and is tested. After completely implementing the system it will be tested with

proper testing technique.

Iteratively and incrementally develop a complete product that is ready to transitions to

its user community.

PTL00782209 Asia Pacific Institute of Information Technology Page 57

Page 58: Mridul FYP FINAL Solution

Smart Mail

Complete the analysis, design, development and testing of all required functionality in

each iteration. Minimize development costs by optimizing resources and avoiding

unnecessary scrap and rework. Achieve adequate quality as rapidly as practical

Decide if the software, the sites and the users are all ready for the application to be

deployed.

Complete module development and testing against the define evaluate criteria.

Evaluate product releases against acceptance criteria for the vision. IV.  Transition

Iteration

Test early iteration and releases to validate the new system against user expectation

Finalize end user support material; train users and maintainers.

Roll-out to the marketing ,distribution and sales forces

Finalize deployment – specific engineering such as cutover, commercial packaging,

production, sales roll-out and field personal training.

Complete tuning activities such as bug fixing, performance and usability

enhancement.

Assess the deployment baselines against the complete vision and the acceptance

criteria for the product.

·Execute deployment plan.11

Transition phase:

Primary objective of transition phase is to 'transition' the system from development into

production, making it available to and understood by the end user. The activities of this phase

include training the end users and maintainers and beta testing the system to validate it

against the end users' expectations. The product is also checked against the quality level set in

the Inception phase.

If all objectives are met, the Product Release Milestone is reached and the development cycle

ends.

11 http://doddychsaputra.thecoderblogs.com/2008/07/19/rational-unified-process-rup-

methodology/

PTL00782209 Asia Pacific Institute of Information Technology Page 58

Page 59: Mridul FYP FINAL Solution

Smart Mail

Comparison of methodologies against set criteria:

Criteria Waterfall Model Spiral Model RUP

Functional

Decomposition

Good Good Excellent

UML Modeling Satisfactory Average Excellent

Manage Requirement

Changes

Satisfactory Good Excellent

Risk Management Poor Good Excellent

Outcomes at each

stage

Excellent Excellent Excellent

Iterative Approach Poor Average Excellent

Heavy

Documentation

Excellent Average Good

Analysis & Design

Support

Excellent Excellent Excellent

Implementation

Support

Average Average Excellent

Testing Support Average Average Excellent

RAD Satisfactory Satisfactory Excellent

Object Oriented

Programming

Satisfactory Satisfactory Excellent

Overall ranking 3rd 2nd 1st

Table 9: comparison between methodologies

Conclusion of Methodology Research

Each methodology was evaluated against set criteria and performance rating was given. The

evaluation proved RUP as a well disciplined industry standard approach that perfectly

matches the set criteria. Apart from allowing flexibility in requirement analysis, it also

provides strong support for object oriented analysis and design.

PTL00782209 Asia Pacific Institute of Information Technology Page 59

Page 60: Mridul FYP FINAL Solution

Smart Mail

WHY NOT WATERFALL MODEL

This model needs all requirements explicitly, but it is frequently not easy for

the customer to state all requirements clearly.

The model tends to consume a lot more time compared to other software

advance models though it is able to identify exact starting and ending points

for a given project.

Waterfall model does not support iterative approach.

In this model developer cannot change the requirement in the middle of the

project. If changes are tried to be incorporated it leads to more confusion and

further delays.

It defers testing and integration until the end of development lifecycle

resulting in unnecessary risks.

WHY NOT SPIRAL MODEL

Requires considerable expertise in risk evaluation and reduction.

Complex and relatively difficult to follow strictly.

It has lack of risk management experience as well as lack of milestones and management is unsure of spiral process.

WHY RUP MODEL

It lets us take into account changing requirements.

Risks are usually discovered or addressed during integration. With the

iterative approach, you can mitigate risks earlier.

Integration is not one "big bang" at the end; instead, elements are integrated

progressively.

Iteration enables reusability.

It employs testing at each iteration. The result is a robust architecture.

It offers latitude for learning along the way.

The status of the project can be checked at the end of each iteration.

PTL00782209 Asia Pacific Institute of Information Technology Page 60

Page 61: Mridul FYP FINAL Solution

Smart Mail

Selection of Programming language:

To successfully develop a project or system, technical and programming skills are both

equally important. The academic research determines the design of the system, while the

technical and programming research will determine the usability of the system. The objective

of this session is to identify a programming language platform for developing this project.

Most important factors such as productivity, maintainability, efficiency, portability, etc. pay

an enormous part in this track. As the project being developed is an email application to be

developed by an object oriented approach, it leaves the developer to choose from the

following languages: JAVA, ASP.NET and C#. A lot of research was carried to select the

best among these.

Java:

It is an object oriented and platform independent language which is used for programming

desktop application. It consists of a virtual machine and set of libraries which are needed to

allow the use of file systems, networks, graphical interfaces, etc.

Useful features of Java:

Simple: Java supports automatic memory allocation and garbage collection. This

makes it a simpler language to use than others.

Portability: Java is portable. It runs in any kind of platform.

Multithreaded: This feature allows java to perform many tasks simultaneously

within application. This is an important feature for developing network

applications.

Distributed Programming: Java’s inherent network programming capability makes

it suitable for distributed programming. It means several computers can work

together in a network.

ASP.NET:

ASP.NET is a web application framework which has been developed by Microsoft for the

development of dynamic websites and web services. It can be developed using the visual

PTL00782209 Asia Pacific Institute of Information Technology Page 61

Page 62: Mridul FYP FINAL Solution

Smart Mail

studio .Net IDE which offer a vast platform for developing systems which are much easier to

develop and more productive.

Consistent Programming Model:

Different programming languages have different approaches for doing a task. For

example, accessing data with a VB 6.0 application and a VC++ application is totally

different. When using different programming languages to do a task, a disparity exists

among the approach developers use to perform the task. The difference in techniques

comes from how different languages interact with the underlying system that

applications rely on.

With .NET accessing data with a VB .NET and a C# .NET looks very similar apart

from slight syntactical differences. Both the programs need to import the System.Data

namespace, both the programs establish a connection with the database and both the

programs run a query and display the data on a data grid. The VB 6.0 and VC++

example mentioned in the first paragraph explains that there is more than one way to

do a particular task within the same language..

The functionality that the .NET Class Library provides is available to all .NET

languages resulting in a consistent object model regardless of the programming

language the developer uses.

Direct Support for Security:

With .NET, the Framework enables the developer and the system administrator to

specify method level security. It uses industry-standard protocols such as TCP/IP,

XML, SOAP and HTTP to facilitate distributed application communications. This

makes distributed computing more secure because .NET developers cooperate with

network security devices instead of working around their security limitations.

ASP.NET is not just a simple advance or the latest version of ASP. ASP.NET combines

exceptional developer efficiency with performance, reliability, and deployment. ASP.NET

redesigns the whole process. It's still easy to grasp for new comers but it provides many new

ways of managing projects. Below are some other features of ASP.NET.

PTL00782209 Asia Pacific Institute of Information Technology Page 62

Page 63: Mridul FYP FINAL Solution

Smart Mail

Visual C#:

C# comes with .NET package which offers a lot of rich libraries and API which is useful in

the development of any project. Features of C# are discussed as below:

Provides Visual Studio .NET IDE. : C# provides an IDE which makes the

development easy and simple for developers as compared to other IDE which are

for Java platform such as Eclipse and Net-beans.

Stylish object oriented design: C# has many object oriented features like object

orientation, encapsulation, inheritance and polymorphism that make it different

from other languages and a great choice for development of a wide range of

components from high-level business objects to system-level software

applications.

Name spaces: C# uses hierarchical namespace model in order to perform its job.

To access the classes and objects of software program desired namespace need to

be included because objects are grouped into name spaces.

Garbage collection: Memory management is of important feature in project

development. So to handle memory management, garbage collection is added as a

great feature to C# uses during runtime.

Indexes: C# has indexes which help to access value in a class with an array like

syntax.

Conclusion:

ASP.NET and C# provides for lot of services which are of essence for the development of the

project. It becomes available an IDE which is much more user-friendly than other

programming languages. As well, it is much faster during execution. So, developer has

decided to use ASP.NET and C# for developing the project.

Database Management System Research:

PTL00782209 Asia Pacific Institute of Information Technology Page 63

Page 64: Mridul FYP FINAL Solution

Smart Mail

Database research is aimed at identifying a suitable database to act as the backend of this

project. Research was conducted on Microsoft Access, Microsoft SQL server and Oracle in

terms of their strengths and weaknesses to identify the backend suitable for this project.

Microsoft Access:

Access stores data in its own format based on the Access Jet Database Engine. It can also

import or link directly to data stored in other applications and databases. The original concept

of Access was for end users to be able to "access" data from any source . 12It is packaged with

Microsoft office professional OEM. It is easier to use and understand because of its graphical

interface. Developers can easily create report and modify as compared to other DBMS.

Why not Use Access?

Access is used mainly to create simple database solutions.

Microsoft Access is very slow.

MS Access has a limited storage capacity.

Access will not be suitable for storing such large amount of data.

Less security is the primary of issue with MS Access.

Microsoft SQL Server:

SQL stands for Structured Query Language. SQL lets you access and manipulate databases.

SQL is an ANSI (American National Standards Institute) standard. It is a relational model

database server produced by Microsoft. It is a computer language designed for

managing data in relational database management systems (RDBMS), and originally based

upon relational algebra. Its scope includes data insert, query, update and

delete, schema creation and modification, and data access control.

Useful Features:

Simple and Easy: It is very easy to use and handle. A single management console

can handle data from anywhere in the organization. Administrators can easily

monitor all the data through this console.

12 http://en.wikipedia.org/wiki/Microsoft_Access

PTL00782209 Asia Pacific Institute of Information Technology Page 64

Page 65: Mridul FYP FINAL Solution

Smart Mail

Data Mirroring: This is very useful in data recovery. If main system fails,

application will automatically connect to database on a secondary machine.

Reduced Down Time: MS SQL is comparatively faster than other databases.

Moreover, it works flawlessly with .NET framework.

Security: It provide the maximum level of security for enterprise data through

features such as database encryption, more secure default settings, password

policy enforcement, granular permissions control, and an enhanced security

model.

Scalability: Scalability advancements in SQL Server include table partitioning,

replication enhancements, and 64-bit support.

High Availability: Failover clustering and database mirroring technology in SQL

Server enables enterprises to deliver highly reliable, available applications to

employees, customers, and partners.

Oracle:

The Oracle Database (commonly referred to as Oracle RDBMS or simply Oracle) is a

relational database management system (RDBMS) produced and marketed by Oracle

Corporation. Oracle RDBMS stores data logically in the form of table spaces and physically

in the form of data files.

Features of Oracle:

More reliable, I've looked after a lot of Oracle databases and most had an uptime

measured in hundreds of days unlike most sql server databases I've worked with.

Oracle has major advantages in terms of locking and concurrency. In effect Oracle

has been designed for the worst case situation of lots of users reading and

modifying the same data. SQL Server and Sybase have been designed for the best

case situation so in simple benchmarks it usually outperforms Oracle.

Lots of scope for tuning in that there are hundreds of tunable parameters. You can

also find out a lot about how Oracle works thorough the internal views.

Why Not Use Oracle:

It is very hard and complex to understand.

PTL00782209 Asia Pacific Institute of Information Technology Page 65

Page 66: Mridul FYP FINAL Solution

Smart Mail

Also it is heavy on resource utilization.

Pricing for Oracle on Windows can be very competitive.

Cost a bit more if you don’t include downtime cost.

Takes longer to learn and not as simple.

Conclusion:

On the basis of the above research it was decided to use MS SQL for the backend purposes.

For one it works seamlessly with .NET platform and also it is easier to use. Moreover, the

developer is already familiar with the working of MS SQL.

PTL00782209 Asia Pacific Institute of Information Technology Page 66

Page 67: Mridul FYP FINAL Solution

Smart Mail

Chapter 5

PTL00782209 Asia Pacific Institute of Information Technology Page 67

Page 68: Mridul FYP FINAL Solution

Smart Mail

ANALYSISIn analysis phase all the research carried out by the developer are analyzed to prepare a final

set of requirements for the system. This session discusses the analysis of the primary

research. As a part of primary research, questionnaire sessions were conducted. This section

provides with a detailed analysis of the same.

Analysis of Questionnaires:

1. Do you want scheduler in the system?

Yes  No

Yes90%

No10%

Scheduler analysis

Analysis: Most of the people responded that they want scheduler into the proposed

system. Email scheduler can work with attached a file, which allows you to, for

example, send certain documents periodically.

2. Are you using any current system?

Yes No

.

Yes No70 % says

Yes

020406080

Analysis: using any current system

PTL00782209 Asia Pacific Institute of Information Technology Page 68

Page 69: Mridul FYP FINAL Solution

Smart Mail

Analysis: 70% user responded that they are familiar with the similar kind of system. The rest of the user never used this kind of system for their daily life.

3. Do you want user groups?

 Yes  No

Yes60%

No40%

Analysis:User Group

Analysis: 60% user responded that they want user group option in the proposed system. This

is mainly to be used to change or limit the default behavior in a corporate environment but

can also be useful in some home environments.

4. Do you want attaches from one group to another?

Yes No

65%

35%

Analysis: attachment from one group to another

yes No 65% says yes

Analysis: 65% user responded that they want this option in the proposed system. An e-

mail attachment (or email attachment) is a computer file sent along with an e-mail

message. One or more files can be attached to any email message, and be sent along with

it to the recipient. This is typically used as a simple method to share documents and

images.

PTL00782209 Asia Pacific Institute of Information Technology Page 69

Page 70: Mridul FYP FINAL Solution

Smart Mail

5. Do you face any problem in current system?

 Yes No

Yes 50%

No50%

Analysis: existing system problem

Analysis: An equal respond has been found during the analysis session for this question. 50% said that they had found problems using similar kind of other system.

6. How important do you think is the transparency in the sharing of information between a user and a mail-client (Smart Mail) system?

 Important. Very important. Does not affect.

35%

60%

5%

Analysis: Sharing information

ImportantVery importantDoes not affect

Analysis: 60% user responded that sharing of information is very important between user and the system. 35% said that it is important. Hence, sharing of information is an important feature to be developed. You can share your e-mail, calendar, tasks, notes, and journal with other users. To share any other folder other than the Inbox, Contacts, Calendar, Notes, or Journal, you must share permissions on the folder you want to share. 

7. Do you think having a Mail client like Smart mail will help you to reduce your time and cost?

 Yes.  No.

PTL00782209 Asia Pacific Institute of Information Technology Page 70

Page 71: Mridul FYP FINAL Solution

Smart Mail

55%

45%

Analysis: reduce time and cost

Yesno

Analysis: almost equal respond has been found during the analysis session. They can access different account from Smart Mail at the same time and at same window. So that my system will reduce the user time and cost.

8. Do you want the system will provide the user to access the updated mail even if the user doesn’t need to login all the time?

 Yes.  No.

yes85%

No15%

Analysis: up to date mail access without login

Analysis: user can access multiple accounts from this system (Smart Mail) faster rather than use of other system. Almost equal respond has been found for this question. According to the analysis point of view 85% said that they want this functionality.

9. Do you want your customize setting or just system default?

 Yes  No

PTL00782209 Asia Pacific Institute of Information Technology Page 71

Page 72: Mridul FYP FINAL Solution

Smart Mail

yesNo

65% says yes

65

35

Analysis: customize settings

Analysis: 65% users respond that they want to customize setting by themselves. This

is designed to find out is user want customized setting or system default, which

cannot be change by user.

10. What are the difficulties you face when you use other mail client like outlook

express?

 My internet is slow so its hanged every time

Most of the interface is not user friendly

 If my internet connection goes down there is no option to resume it.

50

25

25

My internet is slow so its hanged every timeMost of the interface is not user friendlyIf my internet connection goes down there is no option to resume it.

Analysis: To know common difficulties of user has to face when they use other email client.

Reviewing user problems and preparing a solution to that problem.

PTL00782209 Asia Pacific Institute of Information Technology Page 72

Page 73: Mridul FYP FINAL Solution

Smart Mail

11. Do you think a good user interface is a key point for the portal to succeed among students?

 Yes.  No

98%

2% Analysis: interactive design

YesNo65% says Yes

Analysis: 98% user responded that a good and attractive interface is very important for

releasing a product or system. Therefore it is important to having a interactive interface for

the system.

12. Do you think having a calendar planner help you out in planning events and meeting deadlines?

 Yes.  No

70%

5%

25%

Analysis: calender

YesnoNo comment

Analysis: 70% user responded that calendar is a very important functionality for such kind

of system. With the help of this functionality user can set reminders for appointments. This

functionality will provide users to create and send meeting requests and reserve resources

for face to face meetings or for online meetings. The Microsoft Outlook Calendar is the

calendar and scheduling component of Outlook, and is fully integrated with e-mail, contacts,

PTL00782209 Asia Pacific Institute of Information Technology Page 73

Page 74: Mridul FYP FINAL Solution

Smart Mail

and other features. You can view a day, week, or month at once.. 

Chapter 6

Design Documents

PTL00782209 Asia Pacific Institute of Information Technology Page 74

Page 75: Mridul FYP FINAL Solution

Smart Mail

Use Case Diagram:

PTL00782209 Asia Pacific Institute of Information Technology Page 75

Page 76: Mridul FYP FINAL Solution

Smart Mail

Detail:

UC ID Use Case Name Description

A1 Registration Allows users to register.

A2 Login Allows users to log in

A3 Download Desktop application

Allows registered users to download smart mail application for offline use.

A4 Inbox Allows users to view the mail/messages.

A5 Compose mail Allows user to compose or send mail.

A6 Outbox Allows users to see the sent mail.

A7 Draft/ Save message Allows user to save messages.

A8 Trash Allows users to view the past deleted mail/messages.

A9 Add forums topic Allows user to add topic.

A10 View forums topic Allows user to view topic.

Use Case Name: user registration UC ID: A1

PTL00782209 Asia Pacific Institute of Information Technology Page 76

Page 77: Mridul FYP FINAL Solution

Smart Mail

Description This use case allows users to register into the system.

Actor User

Assumption(s) The user has to be registering them to use the system.

Precondition(s) The user must start the smart mail URL.

Postcondition(s) After registered user will get the user id and password.

Primary Pathway(s)

The system will ask the user to fill up the registration form.

User can successfully register into the system.

Alternate Pathway(s)

The user does not register.

The registration is not possible.

Exception Pathway(s)

The system will ask the user to fill up the registration form.

User can successfully register into the system.

The registration is not possible.

Sub Use Case(s)

PTL00782209 Asia Pacific Institute of Information Technology Page 77

Page 78: Mridul FYP FINAL Solution

Smart Mail

PTL00782209 Asia Pacific Institute of Information Technology Page 78

Page 79: Mridul FYP FINAL Solution

Smart Mail

Use Case Name: User Login UC ID: A2

Description This use case allows user to login into the system.

Actor Registered user

Assumption(s) The user is already registered.

Precondition(s) The user must enter unique ID and password

Postcondition(s) After validating the password and ID, the user can login.

Primary Pathway(s)

The system asks for unique ID and Password from the student.

After submitting the user gets registered.

User can successfully log into the system.

Alternate Pathway(s)

The user does not Login.

The login is not possible.

User cannot access Smart mail.

Exception Pathway(s)

The system asks for unique ID and Password from the student.

User can successfully log into the system.

User cannot access Smart mail.

Sub Use Case(s)

PTL00782209 Asia Pacific Institute of Information Technology Page 79

Page 80: Mridul FYP FINAL Solution

Smart Mail

PTL00782209 Asia Pacific Institute of Information Technology Page 80

Page 81: Mridul FYP FINAL Solution

Smart Mail

Use Case Name: Download Smart mail App UC ID: A3

PTL00782209 Asia Pacific Institute of Information Technology Page 81

Page 82: Mridul FYP FINAL Solution

Smart Mail

Description Allows registered users to download the application.

Actor User.

Assumption(s) The user will get it in their home page.

Precondition(s) The user must login into system.

Post condition(s) After login user can download it from the user home page for offline use.

Primary Pathway(s)

User is logged in.

The user can download it for offline use.

Alternate Pathway(s)

User cannot login.

User does not allow to login.

The user can download it for offline use.

Exception pathway(s)

User cannot login.

User does not allow to login.

User is logged in.

The user can download it for offline use.

Sub Use Case(s)

PTL00782209 Asia Pacific Institute of Information Technology Page 82

Page 83: Mridul FYP FINAL Solution

Smart Mail

PTL00782209 Asia Pacific Institute of Information Technology Page 83

Page 84: Mridul FYP FINAL Solution

Smart Mail

Use Case Name: Inbox UC ID: A4

Description This use case allows users to see the mail into the system.

Actor User

Assumption(s) The user has to be login them to use the system.

Precondition(s) The user must login in smart mail.

Postcondition(s) After clicking the inbox user can view the received mail.

Primary Pathway(s)

The system will ask the user to use the inbox button.

User can successfully view messages into the system.

Alternate Pathway(s)

The system will ask the user to use the inbox button.

User can successfully view messages into the system

The user is not allowed to see inbox.

User cannot use the option.

Exception pathway(s)

The system will ask the user to use the inbox button.

User can successfully view messages into the system.

The user is not allowed to see inbox.

Sub Use Case(s)

PTL00782209 Asia Pacific Institute of Information Technology Page 84

User login

Page 85: Mridul FYP FINAL Solution

Smart Mail

Use Case Name: compose mail UC ID: A5

Description This use case allows users to compose mail.

Actor Registered user

Assumption(s) The user has to be login them to use the system.

Precondition(s) The user must login in smart mail.

Post condition(s) User will be able to compose mail to other registered user.

PTL00782209 Asia Pacific Institute of Information Technology Page 85

User home page

Inbox

Checked all Unchecked all

Delete mail

Page 86: Mridul FYP FINAL Solution

Smart Mail

Primary Pathway(s)

User can compose the mail.

User can send the encrypted message.

Alternate Pathway(s)

The user does not Login.

The login is not possible.

User can compose the mail.

User can send the encrypted message.

Exception pathway(s)

The user does not Login.

The login is not possible.

User can compose the mail.

User can send the encrypted message.

PTL00782209 Asia Pacific Institute of Information Technology Page 86

Page 87: Mridul FYP FINAL Solution

Smart Mail

Sub Use Case(s)

PTL00782209 Asia Pacific Institute of Information Technology Page 87

User login

User home page

Compose mail

Send mail Save to draft

Page 88: Mridul FYP FINAL Solution

Smart Mail

Use Case Name: Outbox UC ID: A6

Description This use case allows users to see the sent mail into the system.

Actor User

Assumption(s) The user has to be login them to use the system.

Precondition(s) The user must login in smart mail.

Postcondition(s) After clicking the outbox user can view the sent mail.

Primary Pathway(s)

The system will ask the user to use the outbox button.

User can successfully view sent messages into the system.

Alternate Pathway(s)

The system will ask the user to use the outbox button.

User can successfully view sent messages into the system

The user is not allowed to see outbox.

User cannot use the option.

Exception pathway(s)

The system will ask the user to use the outbox button.

User can successfully view sent messages into the system.

The user is not allowed to see outbox.

PTL00782209 Asia Pacific Institute of Information Technology Page 88

Page 89: Mridul FYP FINAL Solution

Smart Mail

Sub Use Case(s)

PTL00782209 Asia Pacific Institute of Information Technology Page 89

User login

User home page

Outbox

View sent mail

Page 90: Mridul FYP FINAL Solution

Smart Mail

Use Case Name: Draft mail UC ID: A7

Description This use case allows users to save mail.

Actor Registered user

Assumption(s) The user has to be login them to use the system.

Precondition(s) The user must login in smart mail.

Post condition(s) User will be able to save mail.

Primary Pathway(s)

User can save the mail.

User can save the encrypted message.

Alternate Pathway(s)

The user does not Login.

The login is not possible.

User can save the mail.

User can save the encrypted message.

Exception pathway(s)

The user does not Login.

The login is not possible.

User can save the mail.

Sub Use Case(s)

PTL00782209 Asia Pacific Institute of Information Technology Page 90

User login

User home page

Draft mail

View delete mail

Page 91: Mridul FYP FINAL Solution

Smart Mail

Use Case Name: Trash Mail UC ID: A8

Description This use case allows users to see the delete mail into the system.

Actor User

Assumption(s) The user has to be login them to use the system.

Precondition(s) The user must login in smart mail.

Post condition(s) After that user will be able to see the deleted messages into the system.

Primary Pathway(s)

User can see the deleted mail.

User can successfully view deleted messages into the system.

Alternate Pathway(s)

User can see the deleted mail.

User can successfully view deleted messages into the system.

User cannot use the option.

Exception pathway(s)

User can see the deleted mail.

User can successfully view deleted messages into the system.

PTL00782209 Asia Pacific Institute of Information Technology Page 91

Page 92: Mridul FYP FINAL Solution

Smart Mail

Sub Use Case(s)

PTL00782209 Asia Pacific Institute of Information Technology Page 92

User login

User home page

Trash mail

Store the delete mail

Page 93: Mridul FYP FINAL Solution

Smart Mail

Use Case Name: Add Topic UC ID: A9

Description This use case allows users to add topic.

Actor Registered user

Assumption(s) The user has to be login them to use the system.

Precondition(s) The user must login in smart mail.

Post condition(s) User will be able to add topic for discussion in the forum.

Primary Pathway(s)

User can add topic.

User can give views to any particular topic added by other user.

Alternate Pathway(s)

The user does not Login.

The login is not possible.

User can add topic.

User can give views to any particular topic added by other user.

Exception pathway(s)

The user does not Login.

The login is not possible.

User can add topic.

User can give views to any particular topic added by other user.

PTL00782209 Asia Pacific Institute of Information Technology Page 93

Page 94: Mridul FYP FINAL Solution

Smart Mail

Sub Use Case(s)

PTL00782209 Asia Pacific Institute of Information Technology Page 94

User login

User home page

Add topic

Stored in Form section

Page 95: Mridul FYP FINAL Solution

Smart Mail

Use Case Name: View Topic UC ID: A10

Description This use case allows users to view topic.

Actor Registered user

Assumption(s) The user has to be login them to use the system.

Precondition(s) The user must login in smart mail.

Post condition(s) User will be able to view topic for discussion in the forum.

Primary Pathway(s)

User can view the deleted mail.

User can successfully view topic into the system.

Alternate Pathway(s)

User can view the deleted mail.

User can successfully view topic into the system.

User can add view to any particular topic added by other user.

Exception pathway(s)

User can view the deleted mail.

User can successfully view topic into the system.

User can add view to any particular topic added by other user.

Sub Use Case(s)

PTL00782209 Asia Pacific Institute of Information Technology Page 95

User login

User home page

Page 96: Mridul FYP FINAL Solution

Smart Mail

Database Design

Database design is the process of producing a detailed data model of a database. The term

database design can be used to describe many different parts of the design of an overall

database system. In the database design I have described about the field-id, what data type

has been taken against each field, description of the field-id and finally justified usage of the

data type has been taken

Describing Data Elements:

PTL00782209 Asia Pacific Institute of Information Technology Page 96

Page 97: Mridul FYP FINAL Solution

Smart Mail

Each entry in the data dictionary consists of a set of details describing the data used or

produced in the system. Each item is identified by a data name, description, alias, and length

and has specific values that are permissible for it in the system being studied.

List of Tables:

Table Structure

1. user_det table

2. usr_mail Table

3. df_topic Table

4. df_views Table

PTL00782209 Asia Pacific Institute of Information Technology Page 97

Page 98: Mridul FYP FINAL Solution

Smart Mail

1. user_det table

PTL00782209 Asia Pacific Institute of Information Technology Page 98

Page 99: Mridul FYP FINAL Solution

Smart Mail

Field

Name

Data Type Descriptio

n

Justification

U_id Nvarchar(50) User id Nvarchar stores Variable-length Unicode

character data. Dependent on the database

collation for comparisons.

U_fname Char(50) User first

name

Fixed-length non-Unicode character data with

length of n bytes. N must be a value from 1

through 8,000. Storage size is n bytes. The SQL-

92 synonym for char is character. The maximum

size of a CHAR string is 1 billion characters.

U_lname Char(50) User last

name

Fixed-length non-Unicode character data with

length of n bytes. N must be a value from 1

through 8,000. Storage size is n bytes. The SQL-

92 synonym for char is character. The maximum

size of a CHAR string is 1 billion characters.

U_pass Char(15) User

password

Fixed-length non-Unicode character data with

length of n bytes. N must be a value from 1

through 8,000. Storage size is n bytes. The SQL-

92 synonym for char is character. The maximum

size of a CHAR string is 1 billion characters.

U_dob Char(10) User date

of birth

Fixed-length non-Unicode character data with

length of n bytes. N must be a value from 1

through 8,000. Storage size is n bytes. The SQL-

92 synonym for char is character. The maximum

size of a CHAR string is 1 billion characters.

U_gen Char(1) User

gender

Fixed-length non-Unicode character data with

length of n bytes. N must be a value from 1

through 8,000. Storage size is n bytes. The SQL-

92 synonym for char is character. The maximum

size of a CHAR string is 1 billion characters.

U_pcode Char(10) User pin

code

Fixed-length non-Unicode character data with

length of n bytes. N must be a value from 1

through 8,000. Storage size is n bytes. The SQL-

PTL00782209 Asia Pacific Institute of Information Technology Page 99

Page 100: Mridul FYP FINAL Solution

Smart Mail

92 synonym for char is character. The maximum

size of a CHAR string is 1 billion characters.

U_add Nvarchar(300) User

address

Nvarchar stores Variable-length Unicode

character data. Dependent on the database

collation for comparisons.

U_cno Nvarchar(50) User

contact no

Nvarchar stores Variable-length Unicode

character data. Dependent on the database

collation for comparisons.

2. df_topic Table

Field Name Data Type Description Justification

DFT_id Int User id Storage size is 4 bytes. The SQL-92

synonym for int is integer.

DFT_sen Nvarchar(50) Sender Nvarchar stores Unicode data. Variable-

length Unicode character data. Dependent

on the database collation for comparisons.

DFT_rec Nvarchar(500) Receiver Nvarchar stores Unicode data. Variable-

length Unicode character data. Dependent

on the database collation for comparisons.

DFT_sub Nvarchar(50) Subject Nvarchar stores Unicode data. Variable-

length Unicode character data. Dependent

on the database collation for comparisons.

PTL00782209 Asia Pacific Institute of Information Technology Page 100

Page 101: Mridul FYP FINAL Solution

Smart Mail

3. usr_mail Table

PTL00782209 Asia Pacific Institute of Information Technology Page 101

Page 102: Mridul FYP FINAL Solution

Smart Mail

Field Name Data Type Description Justification

M_id Int User id Storage size is 4 bytes. The SQL-92 synonym for

int is integer.

M_sen Nvarchar(50) Mail sender Nvarchar stores Unicode data. Variable-length

Unicode character data. Dependent on the database

collation for comparisons.

M_rec Nvarchar(50) Mail

receiver

Nvarchar stores Unicode data. Variable-length

Unicode character data. Dependent on the database

collation for comparisons.

M_sub Nvarchar(50) Mail

subject

Nvarchar stores Unicode data. Variable-length

Unicode character data. Dependent on the database

collation for comparisons.

M_mail Nvarchar(500) Mail body Nvarchar stores Unicode data. Variable-length

Unicode character data. Dependent on the database

collation for comparisons.

M_type Char(1) Mail type Fixed-length non-Unicode character data with

length of n bytes. N must be a value from 1 through

8,000. Storage size is n bytes. The SQL-92

synonym for char is character. The maximum size

of a CHAR string is 1 billion characters.

M_dttm Datetime Mail date

and time

A day/month/year value. The DATE type does not

have any near time bounding issues and is able to

represent dates many millennia in the future and

the past. The TIMESTAMP type is internally

represented by java.util.Date.

M_att Nvarchar(50) Mail

attachment

Nvarchar stores Unicode data. Variable-length

Unicode character data. Dependent on the database

collation for comparisons.

M_enc Char(1) Mail

encryption

Fixed-length non-Unicode character data with

length of n bytes. N must be a value from 1 through

8,000. Storage size is n bytes. The SQL-92

synonym for char is character. The maximum size

of a CHAR string is 1 billion characters.

PTL00782209 Asia Pacific Institute of Information Technology Page 102

Page 103: Mridul FYP FINAL Solution

Smart Mail

M_pass Nvarchar(50) Mail

password

Nvarchar stores Unicode data. Variable-length

Unicode character data. Dependent on the database

collation for comparisons.

M_rsamail Nvarchar(500) RSA mail Nvarchar stores Unicode data. Variable-length

Unicode character data. Dependent on the database

collation for comparisons.

4. df_view Table

Field Name Data Type Description Justification

DFV_id Int User id Storage size is 4 bytes. The SQL-92 synonym

for int is integer.

DFV_dft_id Int Storage size is 4 bytes. The SQL-92 synonym

for int is integer.

DFV_uid Nvarchar(50) Nvarchar stores Unicode data. Variable-

length Unicode character data. Dependent on

the database collation for comparisons.

DFV_views Nvarchar(500) User views Nvarchar stores Unicode data. Variable-

length Unicode character data. Dependent on

the database collation for comparisons.

DFV_dttm Nvarchar(50) Date and

time

Nvarchar stores Unicode data. Variable-

length Unicode character data. Dependent on

the database collation for comparisons.

PTL00782209 Asia Pacific Institute of Information Technology Page 103

Page 104: Mridul FYP FINAL Solution

Smart Mail

Storyboarding

Description: This is the home page of the system. It will contain general

information regarding the system and its functionalities.

Functionality/Interactivity:

1. Navigate to basic links like about us page, contact page, create new registration etc.

Eg

PTL00782209 Asia Pacific Institute of Information Technology Page 104

………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

Logo

Image

Menu Button

Contents

Smart Mail

Logo

Image

Menu Button

Data Info about

Rag. Page

Registration Page

Textbox, Dropdown list for input text.

Page 105: Mridul FYP FINAL Solution

Smart Mail

Description: A new user must be registered to use “Smart Mail”. Here user will

get the entire required field to be filled by the user to access the all the

functionalities of the system.

Functionality/Interactivity: 1. After fill up the “User Name”, user has to check the availability of the

user name whether it is available or not. It will search in the database; if

the user name exists then a error will be shown to the user.

PTL00782209 Asia Pacific Institute of Information Technology Page 105

Logo

Image

Menu Button

User Login Page

Description: After successful login a user will be directed to the

user home page.

Functionality/Interactivity: 1. After click the submit button, user will navigate to the user

home page.

2. Here other options will be available to the user like “Forget

Password”. User would be able to retrieve the password by

using this option.

Login Page details

Page 106: Mridul FYP FINAL Solution

Smart Mail

PTL00782209 Asia Pacific Institute of Information Technology Page 106

Image

Compose Mail Page

Menu

Compose mail page

Description: in the User Home page user will find a menu where

“compose mail” facility will be available. Here user can see the compose

mail to send. Here user can send the mail by encrypting the text. To

decrypt the mail by other user a password facility is available.

Functionality/Interactivity:

1. RSA Encryption & decryption has been used for the security purpose.

2. User can attach documents.3. User can save the mail by using the “Save As DRAFT” option.4. Password has to provide by the sender with the encrypted mail.5. Two Prime number (Up to 20) has to put by the user to send the

mail.

Menu Button

Page 107: Mridul FYP FINAL Solution

Smart Mail

PTL00782209 Asia Pacific Institute of Information Technology Page 107

Access mail account

Menu

Show Mail

Mail details

Description: User will be able to access multiple email

account.

Functionality/Interactivity:

1. User will be available to see the sent mail by using it.

2. Mail id, subject, Mail To and data & time will be

shown here.

Page 108: Mridul FYP FINAL Solution

Smart Mail

ER Diagram

PTL00782209 Asia Pacific Institute of Information Technology Page 108

Smart Mail System

Has

Registered UserSend

Mail

Add

U_fname

Dfv_dft_iddfv_id

M_subM_mail

u_dobU_pass

dft_uid

M_dttm

M_recM_send

m_idU_id

dft_id

Page 109: Mridul FYP FINAL Solution

Smart Mail

SEQUENCE DIAGRAMSIt allows developers to interact with the functionalities of the system in a sequential order. It

allows user to show the interaction in between the various subclasses of the system.

SEQUENCE DIAGRAM FOR THE LOGINIt presents developer with the proper showcase of the login module of the system. It helps

developers to focus on the various sub-modules involved in the login module.

PTL00782209 Asia Pacific Institute of Information Technology Page 109

Page 110: Mridul FYP FINAL Solution

Smart Mail

Sequence Diagram1

Fig 5: Sequence diagram of login of Smart Mail

SEQUENCE DIAGRAM FOR THE USER REGISTRATION

It showcases various modules involved while completion of this module of user registration.

PTL00782209 Asia Pacific Institute of Information Technology Page 110

Page 111: Mridul FYP FINAL Solution

Smart Mail

Fig 6: Sequence diagram of user registration

Class Diagram

PTL00782209 Asia Pacific Institute of Information Technology Page 111

Page 112: Mridul FYP FINAL Solution

Smart Mail

Chapter 7

PTL00782209 Asia Pacific Institute of Information Technology Page 112

Page 113: Mridul FYP FINAL Solution

Smart Mail

Implementation

The functionalities of the project were developed under three major areas: core, enhanced and

special functionalities. At this stage, the developer has done away with the designing of the

entire system. This phase involves coding the entire system and hence transferring the design

to an actual working system. The following pages describe the implementation tools and the

plan adopted for the implementation of the system.

7.1:- TOOLS USED

The following section describes the various tools that were used for the development and the

implementation of the entire project:-

1. Development and Programming IDEs:-

The following tools and IDEs were used for the system development:-

.NET SDK for 2.0 or later and C#

Visual Studio 2005

SQL Server 2005 Express edition

SQL Server Management Studio

2. CASE Tools:-

The following tools were used during the system designing phase:

MS Project 2003/2007:- for preparing system Gantt Chart.

Microsoft Visio 2007.

Visual Paradigm for UML 6.1 Enterprise Edition:- for various UML diagrams.

3. Other Tools:-

Microsoft Word 2007

Microsoft PowerPoint 2007

Windows XP with Service Pack 2 (for system development).

7.2:-IMPLEMENTATION PLANTo complete the design and implementation of the whole system within the scheduled time

the developer should have a proper plan. There are various modules in the system which is

working independent of each other. Thus, the plan has been scheduled keeping in mind that

no modules conflict with each other.

The core functionalities of the system will be developed first as its must, and the developer

gives it the topmost priority. Some modules need extra time and effort as they are complex.

PTL00782209 Asia Pacific Institute of Information Technology Page 113

Page 114: Mridul FYP FINAL Solution

Smart Mail

Some of the steps that are required to be followed in order to complete the system on time

are:

First and the foremost, the developer will create the user log in module. The system

will support only one type of user, so, login is created.

To use the functionality of the system a user has to be registered. So a registration

page has been created.

Next stage was to develop the user home page in which a general mail system has

been created.

Various types of core functionality such as Inbox, Compose Mail, Trash, Outbox,

ADD views, ADD Topic, Draft has been created.

Next stage was to develop the “Attachment” with mail has been created.

Once these core features are developed the developer can focus on the advanced

functionalities for the system.

The developer developed the functionality of the system which will enable the user to

use the desktop application which allows user to read and compose mail.

The offline application will support for multiple simultaneously accessible POP3 and

IMAP mailboxes in the same window.

The developer will then move towards developing the special feature of the system:

Developer then used RSA Encryption and Decryption technique for better security of

mail in the webmail section to compose a secure mail.

The developer created the page (User Home Page), from which a registered user will

be able to download the offline version of Smart Mail.

The developer will develop a module which enables the POP3 and IMAP mail

system.

Once all these features are implemented user will develop a “services” and “contact details”

page which will facilitate easy understanding of the functionality of the system for its

intended users.

PTL00782209 Asia Pacific Institute of Information Technology Page 114

Page 115: Mridul FYP FINAL Solution

Smart Mail

7.3:- IMPLEMENTATION OF THE MODULES

This section gives the details implementation of the various modules in the system. The

developer also describes the problem has been faced during the implementation of modules

and steps taken by the developer to overcome those difficulties.

7.3.1:- LOG IN MODULE

Start Date: 12th November, 2010

End Date: 18th November, 2010

Objective:

Provide secure login for the system user.

Provide access to the system only if correct username and password is provided.

Module Description:

This module enables the user to login to the system. Only the registered user is allowed to

have access to the system. In this module, Member enters a password and the software

checks its validity. If the password is valid then he is allowed to enter. Different data access

rights are assigned to different users. A new member can also be registered in this module.

Module Source Code:

PTL00782209 Asia Pacific Institute of Information Technology Page 115

Page 116: Mridul FYP FINAL Solution

Smart Mail

PTL00782209 Asia Pacific Institute of Information Technology Page 116

Page 117: Mridul FYP FINAL Solution

Smart Mail

Pseudo Code:

Start

Read username, password

Open Connection

If (username= (userid) AND password = (password) AND

type= (User Type)

DO

Go to home page.

Else

DO

Display “Please enter correct ID & Password”

END if

End

7.3.2:- Download Smart mail Desktop application module

Start Date: 230th November, 2010

End Date: 15th December, 2010

Module Objective:

After login user will be able to download the smart mail application.

User can use it in offline too.

Description:

After login user is redirect to the home page. In the home page he will have a download

option to download the smart mail desktop application for offline use. In the application, user

will get the option to set the “settings “for multiple account access. User will have three

options for Gmail, Yahoo and Hotmail. User will be able to access their account(s) by using

this application one by one in the same window. Here user has to give their account details

(Username and Password) to access the multiple accounts.

PTL00782209 Asia Pacific Institute of Information Technology Page 117

Page 118: Mridul FYP FINAL Solution

Smart Mail

Source Code:

7.3.3:- Smart Mail Application module

Start Date: 2nd February, 2010

End Date: 20th February, 2010

Module Objective:

User can access multiple accounts.

User can send mails.

Description:

This is a module in the system which is documented as a special functionality. Smart mail

desktop application can be downloading from the user home page which will available to

registered user. After download, user can configure his setting for using the system. User can

access multiple accounts in the same window. User has to configure his settings for accessing

the different account mails one by one. In Smart mail user will have the opportunity to access

different account like Gmail, Yahoo and Hotmail. From this application user can send mail to

different mail account but receiver should enable the pop3 incoming mail setting. Otherwise

receiver won’t be able to see the mail.

PTL00782209 Asia Pacific Institute of Information Technology Page 118

Page 119: Mridul FYP FINAL Solution

Smart Mail

Source Code:

namespace smart_Mail_pop3.csharp{ /// <summary> /// Summary description for Form1. /// </summary> public class Form1 : System.Windows.Forms.Form, IComparer { public static int l; send_myMail mymail_raj = new send_myMail(); private IContainer components;

private bool m_bcancel = false; private string m_uidlfile = "userListfile.txt"; private string m_curpath = "";

private System.Windows.Forms.ListView lstMail; private System.Windows.Forms.ColumnHeader colFrom; private System.Windows.Forms.ColumnHeader colSubject; private System.Windows.Forms.ColumnHeader colDate; private System.Windows.Forms.Button btnDel; private System.Windows.Forms.Label lblTotal; private TabControl tabControl1; private TabPage tab_readmail; private WebBrowser webMail; private TabPage tab_setting; private GroupBox groupBox1; private ComboBox textServer; private Label label6; private ProgressBar pgBar; private Label lblStatus; private Button btnCancel; private Button btnStart; private CheckBox chkLeaveCopy; private ComboBox lstProtocol; private Label label5; private ComboBox lstAuthType; private Label label4; private CheckBox chkSSL; private TextBox textPassword; private TextBox textUser; private Label label3; private Label label2; private Label label1; private TabPage tab_Send; private Button btn_sendMail; private GroupBox groupBox2;

PTL00782209 Asia Pacific Institute of Information Technology Page 119

Page 120: Mridul FYP FINAL Solution

Smart Mail

private Label label9; private Label label8; private Label label7; private TextBox txt_to; private GroupBox Body; private TextBox txt_bcc; private TextBox txt_cc; private TextBox txt_message; private TextBox txt_subject; private Label label10; private Label lblmsg; private ErrorProvider errorProvider1;

private ArrayList m_arUidl = new ArrayList(); public Form1() { // // Required for Windows Form Designer support // InitializeComponent();

// // TODO: Add any constructor code after InitializeComponent call // }

/// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose(bool disposing) { if (disposing) { if (components != null) { components.Dispose(); } } base.Dispose(disposing); }

#region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.components = new System.ComponentModel.Container();

PTL00782209 Asia Pacific Institute of Information Technology Page 120

Page 121: Mridul FYP FINAL Solution

Smart Mail

this.lstMail = new System.Windows.Forms.ListView(); this.colFrom = new System.Windows.Forms.ColumnHeader(); this.colSubject = new System.Windows.Forms.ColumnHeader(); this.colDate = new System.Windows.Forms.ColumnHeader(); this.btnDel = new System.Windows.Forms.Button(); this.lblTotal = new System.Windows.Forms.Label(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tab_readmail = new System.Windows.Forms.TabPage(); this.webMail = new System.Windows.Forms.WebBrowser(); this.tab_Send = new System.Windows.Forms.TabPage(); this.Body = new System.Windows.Forms.GroupBox(); this.txt_message = new System.Windows.Forms.TextBox(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.txt_subject = new System.Windows.Forms.TextBox(); this.label10 = new System.Windows.Forms.Label(); this.txt_bcc = new System.Windows.Forms.TextBox(); this.txt_cc = new System.Windows.Forms.TextBox(); this.txt_to = new System.Windows.Forms.TextBox(); this.label9 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label(); this.btn_sendMail = new System.Windows.Forms.Button(); this.tab_setting = new System.Windows.Forms.TabPage(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.textServer = new System.Windows.Forms.ComboBox(); this.label6 = new System.Windows.Forms.Label(); this.pgBar = new System.Windows.Forms.ProgressBar(); this.lblStatus = new System.Windows.Forms.Label(); this.btnCancel = new System.Windows.Forms.Button(); this.btnStart = new System.Windows.Forms.Button(); this.chkLeaveCopy = new System.Windows.Forms.CheckBox(); this.lstProtocol = new System.Windows.Forms.ComboBox(); this.label5 = new System.Windows.Forms.Label(); this.lstAuthType = new System.Windows.Forms.ComboBox(); this.label4 = new System.Windows.Forms.Label(); this.chkSSL = new System.Windows.Forms.CheckBox(); this.textPassword = new System.Windows.Forms.TextBox(); this.textUser = new System.Windows.Forms.TextBox(); this.label3 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.errorProvider1 = new System.Windows.Forms.ErrorProvider(this.components); this.lblmsg = new System.Windows.Forms.Label(); this.tabControl1.SuspendLayout(); this.tab_readmail.SuspendLayout(); this.tab_Send.SuspendLayout(); this.Body.SuspendLayout(); this.groupBox2.SuspendLayout(); this.tab_setting.SuspendLayout();

PTL00782209 Asia Pacific Institute of Information Technology Page 121

Page 122: Mridul FYP FINAL Solution

Smart Mail

this.groupBox1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).BeginInit(); this.SuspendLayout(); // // lstMail // this.lstMail.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.colFrom, this.colSubject, this.colDate}); this.lstMail.Dock = System.Windows.Forms.DockStyle.Top; this.lstMail.FullRowSelect = true; this.lstMail.HideSelection = false; this.lstMail.Location = new System.Drawing.Point(3, 3); this.lstMail.Name = "lstMail"; this.lstMail.Size = new System.Drawing.Size(1230, 224); this.lstMail.TabIndex = 1; this.lstMail.UseCompatibleStateImageBehavior = false; this.lstMail.View = System.Windows.Forms.View.Details; this.lstMail.SelectedIndexChanged += new System.EventHandler(this.lstMail_SelectedIndexChanged); this.lstMail.Click += new System.EventHandler(this.lstMail_Click); // // colFrom // this.colFrom.Text = "From"; this.colFrom.Width = 310; // // colSubject // this.colSubject.Text = "Subject"; this.colSubject.Width = 383; // // colDate // this.colDate.Text = "Date"; this.colDate.Width = 128; // // btnDel // this.btnDel.Location = new System.Drawing.Point(584, 233); this.btnDel.Name = "btnDel"; this.btnDel.Size = new System.Drawing.Size(72, 24); this.btnDel.TabIndex = 3; this.btnDel.Text = "Delete"; this.btnDel.Click += new System.EventHandler(this.btnDel_Click); // // lblTotal //

PTL00782209 Asia Pacific Institute of Information Technology Page 122

Page 123: Mridul FYP FINAL Solution

Smart Mail

this.lblTotal.AutoSize = true; this.lblTotal.Location = new System.Drawing.Point(256, 192); this.lblTotal.Name = "lblTotal"; this.lblTotal.Size = new System.Drawing.Size(0, 13); this.lblTotal.TabIndex = 4; // // tabControl1 // this.tabControl1.Controls.Add(this.tab_readmail); this.tabControl1.Controls.Add(this.tab_Send); this.tabControl1.Controls.Add(this.tab_setting); this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControl1.Location = new System.Drawing.Point(0, 0); this.tabControl1.Name = "tabControl1"; this.tabControl1.SelectedIndex = 0; this.tabControl1.Size = new System.Drawing.Size(1244, 621); this.tabControl1.TabIndex = 7; // // tab_readmail // this.tab_readmail.Controls.Add(this.webMail); this.tab_readmail.Controls.Add(this.lstMail); this.tab_readmail.Controls.Add(this.btnDel); this.tab_readmail.Location = new System.Drawing.Point(4, 22); this.tab_readmail.Name = "tab_readmail"; this.tab_readmail.Padding = new System.Windows.Forms.Padding(3); this.tab_readmail.Size = new System.Drawing.Size(1236, 595); this.tab_readmail.TabIndex = 0; this.tab_readmail.Text = "Mail"; this.tab_readmail.ToolTipText = "Offiline Read Mail"; this.tab_readmail.UseVisualStyleBackColor = true; // // webMail // this.webMail.Location = new System.Drawing.Point(3, 263); this.webMail.MinimumSize = new System.Drawing.Size(20, 20); this.webMail.Name = "webMail"; this.webMail.Size = new System.Drawing.Size(1230, 329); this.webMail.TabIndex = 7; this.webMail.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(this.webMail_DocumentCompleted); // // tab_Send // this.tab_Send.AutoScroll = true; this.tab_Send.AutoScrollMargin = new System.Drawing.Size(2, 2); this.tab_Send.Controls.Add(this.lblmsg); this.tab_Send.Controls.Add(this.Body);

PTL00782209 Asia Pacific Institute of Information Technology Page 123

Page 124: Mridul FYP FINAL Solution

Smart Mail

this.tab_Send.Controls.Add(this.groupBox2); this.tab_Send.Controls.Add(this.btn_sendMail); this.tab_Send.Location = new System.Drawing.Point(4, 22); this.tab_Send.Name = "tab_Send"; this.tab_Send.Padding = new System.Windows.Forms.Padding(3); this.tab_Send.Size = new System.Drawing.Size(1236, 595); this.tab_Send.TabIndex = 2; this.tab_Send.Text = "Send Mail"; this.tab_Send.ToolTipText = "You can sent Mail"; this.tab_Send.UseVisualStyleBackColor = true; // // Body // this.Body.Controls.Add(this.txt_message); this.Body.Location = new System.Drawing.Point(3, 192); this.Body.Name = "Body"; this.Body.Size = new System.Drawing.Size(1225, 400); this.Body.TabIndex = 8; this.Body.TabStop = false; this.Body.Text = "Body"; // // txt_message // this.txt_message.Dock = System.Windows.Forms.DockStyle.Fill; this.txt_message.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.txt_message.Location = new System.Drawing.Point(3, 16); this.txt_message.Multiline = true; this.txt_message.Name = "txt_message"; this.txt_message.Size = new System.Drawing.Size(1219, 381); this.txt_message.TabIndex = 0; // // groupBox2 // this.groupBox2.Controls.Add(this.txt_subject); this.groupBox2.Controls.Add(this.label10); this.groupBox2.Controls.Add(this.txt_bcc); this.groupBox2.Controls.Add(this.txt_cc); this.groupBox2.Controls.Add(this.txt_to); this.groupBox2.Controls.Add(this.label9); this.groupBox2.Controls.Add(this.label8); this.groupBox2.Controls.Add(this.label7); this.groupBox2.Location = new System.Drawing.Point(3, 39); this.groupBox2.Name = "groupBox2"; this.groupBox2.Size = new System.Drawing.Size(1225, 141); this.groupBox2.TabIndex = 7; this.groupBox2.TabStop = false; // // txt_subject

PTL00782209 Asia Pacific Institute of Information Technology Page 124

Page 125: Mridul FYP FINAL Solution

Smart Mail

// this.txt_subject.ForeColor = System.Drawing.SystemColors.MenuHighlight; this.txt_subject.Location = new System.Drawing.Point(61, 97); this.txt_subject.Name = "txt_subject"; this.txt_subject.Size = new System.Drawing.Size(1119, 20); this.txt_subject.TabIndex = 14; // // label10 // this.label10.AutoSize = true; this.label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label10.Location = new System.Drawing.Point(6, 100); this.label10.Name = "label10"; this.label10.Size = new System.Drawing.Size(58, 13); this.label10.TabIndex = 13; this.label10.Text = "Subject :"; // // txt_bcc // this.txt_bcc.ForeColor = System.Drawing.SystemColors.MenuHighlight; this.txt_bcc.Location = new System.Drawing.Point(42, 71); this.txt_bcc.Name = "txt_bcc"; this.txt_bcc.Size = new System.Drawing.Size(1169, 20); this.txt_bcc.TabIndex = 12; // // txt_cc // this.txt_cc.ForeColor = System.Drawing.SystemColors.MenuHighlight; this.txt_cc.Location = new System.Drawing.Point(42, 45); this.txt_cc.Name = "txt_cc"; this.txt_cc.Size = new System.Drawing.Size(1169, 20); this.txt_cc.TabIndex = 11; // // txt_to // this.txt_to.ForeColor = System.Drawing.SystemColors.MenuHighlight; this.txt_to.Location = new System.Drawing.Point(42, 19); this.txt_to.Name = "txt_to"; this.txt_to.Size = new System.Drawing.Size(1169, 20); this.txt_to.TabIndex = 10; // // label9 // this.label9.AutoSize = true; this.label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label9.Location = new System.Drawing.Point(6, 74); this.label9.Name = "label9";

PTL00782209 Asia Pacific Institute of Information Technology Page 125

Page 126: Mridul FYP FINAL Solution

Smart Mail

this.label9.Size = new System.Drawing.Size(37, 13); this.label9.TabIndex = 9; this.label9.Text = "Bcc :"; // // label8 // this.label8.AutoSize = true; this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label8.Location = new System.Drawing.Point(6, 50); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(30, 13); this.label8.TabIndex = 8; this.label8.Text = "Cc :"; // // label7 // this.label7.AutoSize = true; this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label7.Location = new System.Drawing.Point(6, 16); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(30, 13); this.label7.TabIndex = 7; this.label7.Text = "To :"; // // btn_sendMail // this.btn_sendMail.Location = new System.Drawing.Point(3, 6); this.btn_sendMail.Name = "btn_sendMail"; this.btn_sendMail.Size = new System.Drawing.Size(90, 27); this.btn_sendMail.TabIndex = 0; this.btn_sendMail.Text = "Send Mail"; this.btn_sendMail.UseVisualStyleBackColor = true; this.btn_sendMail.Click += new System.EventHandler(this.btn_sendMail_Click); // // tab_setting // this.tab_setting.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192))))); this.tab_setting.Controls.Add(this.groupBox1); this.tab_setting.Location = new System.Drawing.Point(4, 22); this.tab_setting.Name = "tab_setting"; this.tab_setting.Padding = new System.Windows.Forms.Padding(3); this.tab_setting.Size = new System.Drawing.Size(1236, 595); this.tab_setting.TabIndex = 1; this.tab_setting.Text = "Setting"; this.tab_setting.ToolTipText = "Setting of Mail server"; //

PTL00782209 Asia Pacific Institute of Information Technology Page 126

Page 127: Mridul FYP FINAL Solution

Smart Mail

// groupBox1 // this.groupBox1.BackColor = System.Drawing.Color.Goldenrod; this.groupBox1.Controls.Add(this.textServer); this.groupBox1.Controls.Add(this.label6); this.groupBox1.Controls.Add(this.pgBar); this.groupBox1.Controls.Add(this.lblStatus); this.groupBox1.Controls.Add(this.btnCancel); this.groupBox1.Controls.Add(this.btnStart); this.groupBox1.Controls.Add(this.chkLeaveCopy); this.groupBox1.Controls.Add(this.lstProtocol); this.groupBox1.Controls.Add(this.label5); this.groupBox1.Controls.Add(this.lstAuthType); this.groupBox1.Controls.Add(this.label4); this.groupBox1.Controls.Add(this.chkSSL); this.groupBox1.Controls.Add(this.textPassword); this.groupBox1.Controls.Add(this.textUser); this.groupBox1.Controls.Add(this.label3); this.groupBox1.Controls.Add(this.label2); this.groupBox1.Controls.Add(this.label1); this.groupBox1.Location = new System.Drawing.Point(210, 6); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(354, 382); this.groupBox1.TabIndex = 1; this.groupBox1.TabStop = false; this.groupBox1.Text = "Account Information"; // // textServer // this.textServer.FormattingEnabled = true; this.textServer.Items.AddRange(new object[] { "pop3.live.com", "pop.gmail.com", "pop.mail.yahoo.co.in", "plus.pop.yahoo.com", "pop.hotmail.com"}); this.textServer.Location = new System.Drawing.Point(43, 21); this.textServer.Name = "textServer"; this.textServer.Size = new System.Drawing.Size(306, 21); this.textServer.TabIndex = 16; // // label6 // this.label6.ForeColor = System.Drawing.SystemColors.ActiveCaption; this.label6.Location = new System.Drawing.Point(42, 334); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(206, 45); this.label6.TabIndex = 5; this.label6.Text = "Warning: if \"leave a copy of message on server Side\" is not

PTL00782209 Asia Pacific Institute of Information Technology Page 127

Page 128: Mridul FYP FINAL Solution

Smart Mail

checked, the emails " + "on the server will be deleted !"; // // pgBar // this.pgBar.Location = new System.Drawing.Point(6, 261); this.pgBar.Name = "pgBar"; this.pgBar.Size = new System.Drawing.Size(216, 8); this.pgBar.TabIndex = 15; // // lblStatus // this.lblStatus.AutoSize = true; this.lblStatus.Location = new System.Drawing.Point(8, 272); this.lblStatus.Name = "lblStatus"; this.lblStatus.Size = new System.Drawing.Size(0, 13); this.lblStatus.TabIndex = 14; // // btnCancel // this.btnCancel.Enabled = false; this.btnCancel.Location = new System.Drawing.Point(111, 197); this.btnCancel.Name = "btnCancel"; this.btnCancel.Size = new System.Drawing.Size(88, 24); this.btnCancel.TabIndex = 13; this.btnCancel.Text = "Cancel"; this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); // // btnStart // this.btnStart.Location = new System.Drawing.Point(11, 198); this.btnStart.Name = "btnStart"; this.btnStart.Size = new System.Drawing.Size(88, 24); this.btnStart.TabIndex = 12; this.btnStart.Text = "Start"; this.btnStart.Click += new System.EventHandler(this.btnStart_Click); // // chkLeaveCopy // this.chkLeaveCopy.Location = new System.Drawing.Point(6, 176); this.chkLeaveCopy.Name = "chkLeaveCopy"; this.chkLeaveCopy.Size = new System.Drawing.Size(208, 16); this.chkLeaveCopy.TabIndex = 11; this.chkLeaveCopy.Text = "Leave a copy of message on server"; // // lstProtocol // this.lstProtocol.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;

PTL00782209 Asia Pacific Institute of Information Technology Page 128

Page 129: Mridul FYP FINAL Solution

Smart Mail

this.lstProtocol.Location = new System.Drawing.Point(63, 148); this.lstProtocol.Name = "lstProtocol"; this.lstProtocol.Size = new System.Drawing.Size(286, 21); this.lstProtocol.TabIndex = 10; // // label5 // this.label5.AutoSize = true; this.label5.Location = new System.Drawing.Point(8, 151); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(46, 13); this.label5.TabIndex = 9; this.label5.Text = "Protocol"; // // lstAuthType // this.lstAuthType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.lstAuthType.Location = new System.Drawing.Point(63, 121); this.lstAuthType.Name = "lstAuthType"; this.lstAuthType.Size = new System.Drawing.Size(286, 21); this.lstAuthType.TabIndex = 8; // // label4 // this.label4.AutoSize = true; this.label4.Location = new System.Drawing.Point(1, 124); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(56, 13); this.label4.TabIndex = 7; this.label4.Text = "Auth Type"; // // chkSSL // this.chkSSL.Location = new System.Drawing.Point(8, 105); this.chkSSL.Name = "chkSSL"; this.chkSSL.Size = new System.Drawing.Size(208, 16); this.chkSSL.TabIndex = 6; this.chkSSL.Text = "SSL connection"; // // textPassword // this.textPassword.Location = new System.Drawing.Point(60, 73); this.textPassword.Name = "textPassword"; this.textPassword.PasswordChar = '*'; this.textPassword.Size = new System.Drawing.Size(289, 20); this.textPassword.TabIndex = 5; // // textUser

PTL00782209 Asia Pacific Institute of Information Technology Page 129

Page 130: Mridul FYP FINAL Solution

Smart Mail

// this.textUser.Location = new System.Drawing.Point(43, 49); this.textUser.Name = "textUser"; this.textUser.Size = new System.Drawing.Size(306, 20); this.textUser.TabIndex = 4; // // label3 // this.label3.AutoSize = true; this.label3.Location = new System.Drawing.Point(1, 76); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(53, 13); this.label3.TabIndex = 2; this.label3.Text = "Password"; // // label2 // this.label2.AutoSize = true; this.label2.Location = new System.Drawing.Point(8, 52); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(29, 13); this.label2.TabIndex = 1; this.label2.Text = "User"; // // label1 // this.label1.AutoSize = true; this.label1.Location = new System.Drawing.Point(8, 24); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(38, 13); this.label1.TabIndex = 0; this.label1.Text = "Server"; // // errorProvider1 // this.errorProvider1.ContainerControl = this; // // lblmsg // this.lblmsg.AutoSize = true; this.lblmsg.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lblmsg.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(128))))); this.lblmsg.Location = new System.Drawing.Point(206, 9); this.lblmsg.Name = "lblmsg"; this.lblmsg.Size = new System.Drawing.Size(0, 17); this.lblmsg.TabIndex = 9; //

PTL00782209 Asia Pacific Institute of Information Technology Page 130

Page 131: Mridul FYP FINAL Solution

Smart Mail

// Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(1244, 621); this.Controls.Add(this.tabControl1); this.Controls.Add(this.lblTotal); this.Name = "Form1"; this.Text = "Form1"; this.WindowState = System.Windows.Forms.FormWindowState.Maximized; this.Load += new System.EventHandler(this.Form1_Load); this.tabControl1.ResumeLayout(false); this.tab_readmail.ResumeLayout(false); this.tab_Send.ResumeLayout(false); this.tab_Send.PerformLayout(); this.Body.ResumeLayout(false); this.Body.PerformLayout(); this.groupBox2.ResumeLayout(false); this.groupBox2.PerformLayout(); this.tab_setting.ResumeLayout(false); this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).EndInit(); this.ResumeLayout(false); this.PerformLayout();

} #endregion

/// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); }

#region EAGetMail Event Handler public void OnConnected(object sender, ref bool cancel) { lblStatus.Text = "Mail Server Connected ........."; cancel = m_bcancel; Application.DoEvents(); }

public void OnQuit(object sender, ref bool cancel) { lblStatus.Text = "Quit ........."; cancel = m_bcancel;

PTL00782209 Asia Pacific Institute of Information Technology Page 131

Page 132: Mridul FYP FINAL Solution

Smart Mail

Application.DoEvents(); }

public void OnReceivingDataStream(object sender, MailInfo info, int received, int total, ref bool cancel) { pgBar.Minimum = 0; pgBar.Maximum = total; pgBar.Value = received; cancel = m_bcancel; Application.DoEvents(); }

public void OnIdle(object sender, ref bool cancel) { cancel = m_bcancel; Application.DoEvents(); }

public void OnAuthorized(object sender, ref bool cancel) { lblStatus.Text = "your account Authorized ..."; cancel = m_bcancel; Application.DoEvents(); }

public void OnSecuring(object sender, ref bool cancel) { lblStatus.Text = "Securing Connection ..."; cancel = m_bcancel; Application.DoEvents(); } #endregion

#region UIDL Functions // uidl is the identifier of every email on POP3/IMAP4 server, to avoid retrieve // the same email from server more than once, we record the email uidl retrieved every time // if you delete the email from server every time and not to leave a copy of email on // the server, then please remove all the function about uidl.

private bool _FindUIDL(MailInfo[] infos, string uidl) { int count = infos.Length; for (int i = 0; i < count; i++) { if (String.Compare(infos[i].UIDL, uidl, false) == 0) return true; }

PTL00782209 Asia Pacific Institute of Information Technology Page 132

Page 133: Mridul FYP FINAL Solution

Smart Mail

return false; }

//remove the local uidl which is not existed on the server. private void _SyncUIDL(MailServer oServer, MailInfo[] infos) { string s = String.Format("{0}#{1} ", oServer.Server, oServer.User);

bool bcontinue = false; int n = 0; do { bcontinue = false; int count = m_arUidl.Count; for (int i = n; i < count; i++) { string x = m_arUidl[i] as string; if (String.Compare(s, 0, x, 0, s.Length, true) == 0) { int pos = x.LastIndexOf(' '); if (pos != -1) { string uidl = x.Substring(pos + 1); if (!_FindUIDL(infos, uidl)) { //this uidl doesn't exist on server, //so we should remove it from local uidl list to save the storage. bcontinue = true; n = i; m_arUidl.RemoveAt(i); break; } } } } } while (bcontinue);

}

private bool _FindExistedUIDL(MailServer oServer, string uidl) { string s = String.Format("{0}#{1} {2}", oServer.Server.ToLower(), oServer.User.ToLower(), uidl); int count = m_arUidl.Count; for (int i = 0; i < count; i++) { string x = m_arUidl[i] as string; if (String.Compare(s, x, false) == 0) return true;

PTL00782209 Asia Pacific Institute of Information Technology Page 133

Page 134: Mridul FYP FINAL Solution

Smart Mail

} return false; }

private void _AddUIDL(MailServer oServer, string uidl) { string s = String.Format("{0}#{1} {2}", oServer.Server.ToLower(), oServer.User.ToLower(), uidl); m_arUidl.Add(s); }

private void _UpdateUIDL() { StringBuilder s = new StringBuilder(); int count = m_arUidl.Count; for (int i = 0; i < count; i++) { s.Append(m_arUidl[i] as string); s.Append("\r\n"); }

string file = String.Format("{0}\\{1}", m_curpath, m_uidlfile);

FileStream fs = null; try { fs = new FileStream(file, FileMode.Create, FileAccess.Write, FileShare.None); byte[] data = System.Text.Encoding.Default.GetBytes(s.ToString()); fs.Write(data, 0, data.Length); fs.Close(); } catch (Exception ep) { if (fs != null) fs.Close();

throw ep; }

}

private void _LoadUIDL() { m_arUidl.Clear(); string file = String.Format("{0}\\{1}", m_curpath, m_uidlfile); StreamReader read = null; try { read = File.OpenText(file);

PTL00782209 Asia Pacific Institute of Information Technology Page 134

Page 135: Mridul FYP FINAL Solution

Smart Mail

while (true) { string line = read.ReadLine().Trim("\r\n \t".ToCharArray()); m_arUidl.Add(line); } } catch (Exception ep) { }

if (read != null) read.Close(); } #endregion

#region Parse and Display Mails private void LoadMails() { lstMail.Items.Clear(); string mailFolder = String.Format("{0}\\inbox", m_curpath); if (!Directory.Exists(mailFolder)) Directory.CreateDirectory(mailFolder);

string[] files = Directory.GetFiles(mailFolder, "*.eml"); int count = files.Length; for (int i = 0; i < count; i++) { string fullname = files[i]; //For evaluation usage, please use "TryIt" as the license code, otherwise the //"invalid license code" exception will be thrown. However, the object will expire in 1-2 months, then //"trial version expired" exception will be thrown. Mail oMail = new Mail("TryIt");

// Load( file, true ) only load the email header to Mail object to save the CPU and memory // the Mail object will load the whole email file later automatically if bodytext or attachment is required.. oMail.Load(fullname, true);

ListViewItem item = new ListViewItem(oMail.From.ToString()); item.SubItems.Add(oMail.Subject); item.SubItems.Add(oMail.ReceivedDate.ToString("yyyy-MM-dd HH:mm:ss")); item.Tag = fullname; lstMail.Items.Add(item);

int pos = fullname.LastIndexOf("."); string mainName = fullname.Substring(0, pos); string htmlName = mainName + ".htm";

PTL00782209 Asia Pacific Institute of Information Technology Page 135

Page 136: Mridul FYP FINAL Solution

Smart Mail

if (!File.Exists(htmlName)) { // this email is unread, we set the font style to bold. item.Font = new System.Drawing.Font(item.Font, FontStyle.Bold); }

oMail.Clear(); } }

private string _FormatHtmlTag(string src) { src = src.Replace(">", "&gt;"); src = src.Replace("<", "&lt;"); return src; }

//we generate a html + attachment folder for every email, once the html is create, // next time we don't need to parse the email again. private void _GenerateHtmlForEmail(string htmlName, string emlFile, string tempFolder) { //For evaluation usage, please use "TryIt" as the license code, otherwise the //"invalid license code" exception will be thrown. However, the object will expire in 1-2 months, then //"trial version expired" exception will be thrown. Mail oMail = new Mail("TryIt"); oMail.Load(emlFile, false);

if (oMail.IsEncrypted) { try { //this email is encrypted, we decrypt it by user default certificate. // you can also use specified certificate like this // oCert = new Certificate(); // oCert.Load("c:\\test.pfx", "pfxpassword", Certificate.CertificateKeyLocation.CRYPT_USER_KEYSET) // oMail = oMail.Decrypt( oCert ); oMail = oMail.Decrypt(null); } catch (Exception ep) { MessageBox.Show(ep.Message); oMail.Load(emlFile, false); } }

if (oMail.IsSigned)

PTL00782209 Asia Pacific Institute of Information Technology Page 136

Page 137: Mridul FYP FINAL Solution

Smart Mail

{ try { //this email is digital signed. EAGetMail.Certificate cert = oMail.VerifySignature(); MessageBox.Show("This email contains a valid digital signature."); //you can add the certificate to your certificate storage like this //cert.AddToStore( Certificate.CertificateStoreLocation.CERT_SYSTEM_STORE_CURRENT_USER, // "addressbook" ); // then you can use send the encrypted email back to this sender. } catch (Exception ep) { MessageBox.Show(ep.Message); } }

string html = oMail.HtmlBody; StringBuilder hdr = new StringBuilder();

hdr.Append("<font face=\"Courier New,Arial\" size=2>"); hdr.Append("<b>From:</b> " + _FormatHtmlTag(oMail.From.ToString()) + "<br>"); MailAddress[] addrs = oMail.To; int count = addrs.Length; if (count > 0) { hdr.Append("<b>To:</b> "); for (int i = 0; i < count; i++) { hdr.Append(_FormatHtmlTag(addrs[i].ToString())); if (i < count - 1) { hdr.Append(";"); } } hdr.Append("<br>"); }

addrs = oMail.Cc;

count = addrs.Length; if (count > 0) { hdr.Append("<b>Cc:</b> "); for (int i = 0; i < count; i++) { hdr.Append(_FormatHtmlTag(addrs[i].ToString()));

PTL00782209 Asia Pacific Institute of Information Technology Page 137

Page 138: Mridul FYP FINAL Solution

Smart Mail

if (i < count - 1) { hdr.Append(";"); } } hdr.Append("<br>"); }

hdr.Append(String.Format("<b>Subject:</b>{0}<br>\r\n", _FormatHtmlTag(oMail.Subject)));

Attachment[] atts = oMail.Attachments; count = atts.Length; if (count > 0) { if (!Directory.Exists(tempFolder)) Directory.CreateDirectory(tempFolder);

hdr.Append("<b>Attachments:</b>"); for (int i = 0; i < count; i++) { Attachment att = atts[i]; //this attachment is in OUTLOOK RTF format, decode it here. if (String.Compare(att.Name, "winmail.dat") == 0) { Attachment[] tatts = null; try { tatts = Mail.ParseTNEF(att.Content, true); } catch (Exception ep) { MessageBox.Show(ep.Message); continue; }

int y = tatts.Length; for (int x = 0; x < y; x++) { Attachment tatt = tatts[x]; string tattname = String.Format("{0}\\{1}", tempFolder, tatt.Name); tatt.SaveAs(tattname, true); hdr.Append(String.Format("<a href=\"{0}\" target=\"_blank\">{1}</a> ", tattname, tatt.Name)); } continue; }

string attname = String.Format("{0}\\{1}", tempFolder, att.Name);

PTL00782209 Asia Pacific Institute of Information Technology Page 138

Page 139: Mridul FYP FINAL Solution

Smart Mail

att.SaveAs(attname, true); hdr.Append(String.Format("<a href=\"{0}\" target=\"_blank\">{1}</a> ", attname, att.Name)); if (att.ContentID.Length > 0) { //show embedded image. html = html.Replace("cid:" + att.ContentID, attname); } else if (String.Compare(att.ContentType, 0, "image/", 0, "image/".Length, true) == 0) { //show attached image. html = html + String.Format("<hr><img src=\"{0}\">", attname); } } }

Regex reg = new Regex("(<meta[^>]*charset[ \t]*=[ \t\"]*)([^<> \r\n\"]*)", RegexOptions.Multiline | RegexOptions.IgnoreCase); html = reg.Replace(html, "$1utf-8"); if (!reg.IsMatch(html)) { hdr.Insert(0, "<meta HTTP-EQUIV=\"Content-Type\" Content=\"text-html; charset=utf-8\">"); }

html = hdr.ToString() + "<hr>" + html; FileStream fs = new FileStream(htmlName, FileMode.Create, FileAccess.Write, FileShare.None); byte[] data = System.Text.UTF8Encoding.UTF8.GetBytes(html); fs.Write(data, 0, data.Length); fs.Close(); oMail.Clear(); }

private void ShowMail(string fileName) { try { int pos = fileName.LastIndexOf("."); string mainName = fileName.Substring(0, pos); string htmlName = mainName + ".htm";

string tempFolder = mainName; if (!File.Exists(htmlName)) { //we haven't generate the html for this email, generate it now. _GenerateHtmlForEmail(htmlName, fileName, tempFolder); }

object empty = System.Reflection.Missing.Value;

PTL00782209 Asia Pacific Institute of Information Technology Page 139

Page 140: Mridul FYP FINAL Solution

Smart Mail

webMail.Navigate(htmlName); } catch (Exception ep) { MessageBox.Show(ep.Message); } } #endregion

private void Form1_Load(object sender, System.EventArgs e) { object empty = System.Reflection.Missing.Value; webMail.Navigate("about:blank");

lstProtocol.Items.Add("POP3"); lstProtocol.Items.Add("IMAP4"); lstProtocol.SelectedIndex = 0;

lstAuthType.Items.Add("USER/LOGIN"); lstAuthType.Items.Add("APOP"); lstAuthType.Items.Add("NTLM"); lstAuthType.SelectedIndex = 0;

string path = Application.ExecutablePath; int pos = path.LastIndexOf('\\'); if (pos != -1) path = path.Substring(0, pos);

m_curpath = path;

lstMail.Sorting = SortOrder.Descending; lstMail.ListViewItemSorter = this;

LoadMails(); lblTotal.Text = String.Format("Total {0} email(s)", lstMail.Items.Count); }

private void btnCancel_Click(object sender, System.EventArgs e) { m_bcancel = true; }

private void lstMail_Click(object sender, System.EventArgs e) { ListView.SelectedListViewItemCollection items = lstMail.SelectedItems; if (items.Count == 0) return;

PTL00782209 Asia Pacific Institute of Information Technology Page 140

Page 141: Mridul FYP FINAL Solution

Smart Mail

ListViewItem item = items[0] as ListViewItem; ShowMail(item.Tag as string); item.Font = new System.Drawing.Font(item.Font, FontStyle.Regular); }

private void btnDel_Click(object sender, System.EventArgs e) { ListView.SelectedListViewItemCollection items = lstMail.SelectedItems; if (items.Count == 0) return;

if (MessageBox.Show("Do you want to delete all selected emails", "", MessageBoxButtons.YesNo) == DialogResult.No) return;

while (items.Count > 0) { try { string fileName = items[0].Tag as string; File.Delete(fileName); int pos = fileName.LastIndexOf("."); string tempFolder = fileName.Substring(0, pos); string htmlName = tempFolder + ".htm"; if (File.Exists(htmlName)) File.Delete(htmlName);

if (Directory.Exists(tempFolder)) { Directory.Delete(tempFolder, true); }

lstMail.Items.Remove(items[0]); } catch (Exception ep) { MessageBox.Show(ep.Message); break; } }

lblTotal.Text = String.Format("Total {0} email(s)", lstMail.Items.Count);

object empty = System.Reflection.Missing.Value; webMail.Navigate("about:blank");

}

PTL00782209 Asia Pacific Institute of Information Technology Page 141

Page 142: Mridul FYP FINAL Solution

Smart Mail

#region IComparer Members // sort the email as received data. public int Compare(object x, object y) { ListViewItem itemx = x as ListViewItem; ListViewItem itemy = y as ListViewItem;

string sx = itemx.SubItems[2].Text; string sy = itemy.SubItems[2].Text; if (sx.Length != sy.Length) return -1; //should never occured.

int count = sx.Length; for (int i = 0; i < count; i++) { if (sx[i] > sy[i]) return -1; else if (sx[i] < sy[i]) return 1; }

return 0; }

#endregion

private void btnStart_Click(object sender, EventArgs e) { string server, user, password; server = textServer.Text.Trim(); user = textUser.Text.Trim(); password = textPassword.Text.Trim();

if (server.Length == 0 || user.Length == 0 || password.Length == 0) { MessageBox.Show("Please input server, user and password."); return; }

btnStart.Enabled = false; btnCancel.Enabled = true;

ServerAuthType authType = ServerAuthType.AuthLogin; if (lstAuthType.SelectedIndex == 1) authType = ServerAuthType.AuthCRAM5; else if (lstAuthType.SelectedIndex == 2) authType = ServerAuthType.AuthNTLM;

ServerProtocol protocol = ServerProtocol.Pop3;

PTL00782209 Asia Pacific Institute of Information Technology Page 142

Page 143: Mridul FYP FINAL Solution

Smart Mail

if (lstProtocol.SelectedIndex == 1) protocol = ServerProtocol.Imap4;

MailServer oServer = new MailServer(server, user, password, chkSSL.Checked, authType, protocol);

//For evaluation usage, please use "TryIt" as the license code, otherwise the //"invalid license code" exception will be thrown. However, the object will expire in 1-2 months, then //"trial version expired" exception will be thrown. MailClient oClient = new MailClient("TryIt");

//Catching the following events is not necessary, //just make the application more user friendly. //If you use the object in asp.net/windows service or non-gui application, //You need not to catch the following events. //To learn more detail, please refer to the code in EAGetMail EventHandler region oClient.OnAuthorized += new MailClient.OnAuthorizedEventHandler(OnAuthorized); oClient.OnConnected += new MailClient.OnConnectedEventHandler(OnConnected); oClient.OnIdle += new MailClient.OnIdleEventHandler(OnIdle); oClient.OnSecuring += new MailClient.OnSecuringEventHandler(OnSecuring); oClient.OnReceivingDataStream += new MailClient.OnReceivingDataStreamEventHandler(OnReceivingDataStream);

bool bLeaveCopy = chkLeaveCopy.Checked; try { // uidl is the identifier of every email on POP3/IMAP4 server, to avoid retrieve // the same email from server more than once, we record the email uidl retrieved every time // if you delete the email from server every time and not to leave a copy of email on // the server, then please remove all the function about uidl. _LoadUIDL();

string mailFolder = String.Format("{0}\\inbox", m_curpath); if (!Directory.Exists(mailFolder)) Directory.CreateDirectory(mailFolder);

m_bcancel = false; oClient.Connect(oServer); MailInfo[] infos = oClient.GetMailInfos(); lblStatus.Text = String.Format("Total {0} email(s)", infos.Length);

_SyncUIDL(oServer, infos); int count = infos.Length;

for (int i = 0; i < count; i++) {

PTL00782209 Asia Pacific Institute of Information Technology Page 143

Page 144: Mridul FYP FINAL Solution

Smart Mail

MailInfo info = infos[i]; if (_FindExistedUIDL(oServer, info.UIDL)) { //this email has existed on local disk. continue; }

lblStatus.Text = String.Format("Retrieving {0}/{1}...", info.Index, count);

Mail oMail = oClient.GetMail(info); System.DateTime d = System.DateTime.Now; System.Globalization.CultureInfo cur = new System.Globalization.CultureInfo("en-US"); string sdate = d.ToString("yyyyMMddHHmmss", cur); string fileName = String.Format("{0}\\{1}{2}{3}.eml", mailFolder, sdate, d.Millisecond.ToString("d3"), i); oMail.SaveAs(fileName, true);

ListViewItem item = new ListViewItem(oMail.From.ToString()); item.SubItems.Add(oMail.Subject); item.SubItems.Add(oMail.ReceivedDate.ToString("yyyy-MM-dd HH:mm:ss")); item.Font = new System.Drawing.Font(item.Font, FontStyle.Bold); item.Tag = fileName; lstMail.Items.Insert(0, item); oMail.Clear();

lblTotal.Text = String.Format("Total {0} email(s)", lstMail.Items.Count);

if (bLeaveCopy) { //add the email uidl to uidl file to avoid we retrieve it next time. _AddUIDL(oServer, info.UIDL); } }

if (!bLeaveCopy) { lblStatus.Text = "Deleting ..."; for (int i = 0; i < count; i++) oClient.Delete(infos[i]); } // Delete method just mark the email as deleted, // Quit method pure the emails from server exactly. oClient.Quit();

} catch (Exception ep) { MessageBox.Show(ep.Message);

PTL00782209 Asia Pacific Institute of Information Technology Page 144

Page 145: Mridul FYP FINAL Solution

Smart Mail

}

//update the uidl list to a text file and then we can load it next time. _UpdateUIDL();

lblStatus.Text = "Completed"; pgBar.Maximum = 100; pgBar.Minimum = 0; pgBar.Value = 0; btnStart.Enabled = true; btnCancel.Enabled = false; }

private void lstMail_SelectedIndexChanged(object sender, EventArgs e) {

}

private void btn_sendMail_Click(object sender, EventArgs e) { lblmsg.Text = "Wait Message Sending.....................";

string[ , ] address_hostport = new string[,]{ {"smtp.gmail.com", "smtp.mail.yahoo.com", "plus.smtp.mail.yahoo.com", "smtp.live.com" }, {"587","465","465","587"} }; //smtp.gmail.com 587,smtp.mail.yahoo.com 465,plus.smtp.mail.yahoo.com 465,smtp.live.com 587 ArrayList m = new ArrayList(); string[] umail = txt_to.Text.Split(','); for (int i = 0; i < umail.Length; i++) { string[] strtmp = umail[i].Split('@'); m.Add(strtmp[strtmp.Length - 1]);

} ArrayList sm=new ArrayList (); ArrayList smport = new ArrayList(); for (int j = 0; j < m.Count ; j++) { if (m[j].ToString() == "gmail.com") { sm.Add(address_hostport[0,0]); smport.Add(address_hostport[1, 0]); } else if (m[j].ToString() == "yahoo.com") {

PTL00782209 Asia Pacific Institute of Information Technology Page 145

Page 146: Mridul FYP FINAL Solution

Smart Mail

sm.Add(address_hostport[0,1]); smport.Add(address_hostport[1, 1]);

} else if (m[j].ToString() == "hotmail.com") { sm.Add(address_hostport[0,3]); smport.Add(address_hostport[1, 3]);

} }

for ( l = 0; l < umail.Length; l++) { send_myMail(sm[l].ToString(), smport[l].ToString(),umail[l]);

}

}

public void send_myMail(String host_name, string sport_no,string maial_to) { try { int port_no = Convert.ToInt16(sport_no );

string mailfrom = "[email protected]"; //Replace this with your own correct Gmail Address string smart_pass = " *rajesh* "; // pass word is require for server login string mto =maial_to ; //Replace this with the Email Address to whom you want to send the mail

System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); mail.To.Add(mto); if(!String.IsNullOrEmpty(txt_bcc.Text)) { mail.Bcc.Add(txt_bcc.Text); } if(!string.IsNullOrEmpty(txt_cc.Text))

{ mail.CC.Add(txt_cc.Text); } mail.From = new System.Net.Mail.MailAddress(mailfrom, "SMART MAIL",

PTL00782209 Asia Pacific Institute of Information Technology Page 146

Page 147: Mridul FYP FINAL Solution

Smart Mail

System.Text.Encoding.UTF8); mail.Subject = txt_subject.Text; mail.SubjectEncoding = System.Text.Encoding.UTF8; mail.Body = txt_message.Text; mail.BodyEncoding = System.Text.Encoding.UTF8; mail.IsBodyHtml = true; mail.Priority = System.Net.Mail.MailPriority.High;

System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(); //Add the Creddentials- use your own email id and password

client.Credentials = new System.Net.NetworkCredential(mailfrom, smart_pass);

client.Port = port_no ;///587; // Gmail works on this port client.Host =host_name; ///// "smtp.gmail.com"; client.EnableSsl = true; //Gmail works on Server Secured Layer try { client.SendAsync(mail,"mess");

lblmsg.Text=" " + (l + 1) + " " + "Message has been successfully sent"; } catch (MailServerException mse) { MessageBox.Show("Error on server side" + mse.Message); } catch (InvalidAsynchronousStateException inasse) { MessageBox.Show(inasse.Message);

} catch (InvalidOperationException inop) { MessageBox.Show("Wrong server name , No SMTP server provided", "SMART MAIL"+inop.Message ); }

catch (MemberAccessException mae) { MessageBox.Show("Member does not exit" + mae.Message);

}

PTL00782209 Asia Pacific Institute of Information Technology Page 147

Page 148: Mridul FYP FINAL Solution

Smart Mail

catch (Exception ex) { Exception ex2 = ex; string errorMessage = string.Empty; while (ex2 != null) { errorMessage += ex2.ToString(); ex2 = ex2.InnerException; lblmsg.Text = "Error...................."; } MessageBox.Show(errorMessage); } // end try } catch (System.ArgumentException ag) { MessageBox.Show("Plz Enter the Argument "); }}

private void webMail_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e){

} }

CONCLUSIONThe above document showcased various code snippets that were used while developing the

system. Various reference materials were used while developed this codes. The various

challenges that evolved while developing the code were handled properly using various

methodologies.

PTL00782209 Asia Pacific Institute of Information Technology Page 148

Page 149: Mridul FYP FINAL Solution

Smart Mail

USER MANUALLogin page

This is the first task to do by the user for using the system. Here user has to give their

authorized user name and password.

User Home page: Download smart mail app

This is the home page of the user. Here user will get the smart mail desktop application for

download.

PTL00782209 Asia Pacific Institute of Information Technology Page 149

Enter User name and password

Click to sign in

Click to retrieve password

New User registration

Download smart mail desktop application

Download application window

Mail menu

Change password

Click to Log out

Page 150: Mridul FYP FINAL Solution

Smart Mail

Smart mail Desktop Application: Setting page

Here user has to configure his mail server setting for access the mails from multiple accounts

such as Gmail, Hotmail etc.

Access Mail

Here user will be able to see the mail as well as they can delete non important mails as per

their requirement.

PTL00782209 Asia Pacific Institute of Information Technology Page 150

Server settings

User Password

Authentication type and protocol setting

Start downloading mail or cancel

User name

Delete mail

Show the mail

Read mail

Page 151: Mridul FYP FINAL Solution

Smart Mail

Send mail

Here user can compose mail to the different email account.

TECHNICAL MANUAL Ensure that the system has Visual Studio 2008 and SQL Server 2005 is

installed in it. Attach the database with the SQL Server 2005. Open the Visual Studio 2008 and Open the website. Press f5 to execute the Program. Access the various functionalities of the Smart Mail.

STEP-1:

Ensure that your system has Visual Studio 2008 installed in it.

STEP-2:

After opening Visual Studio 2008, go to File -> Open -> Project/Solution

PTL00782209 Asia Pacific Institute of Information Technology Page 151

Send to/ Recipient id

Subject of the mail

Send mail

Body of the mail

Page 152: Mridul FYP FINAL Solution

Smart Mail

STEP-3:

In the Open Project prompt, choose the path of the destination folder where the system is stored and click Open.

STEP-4: After opening the project, execute the project.

PTL00782209 Asia Pacific Institute of Information Technology Page 152

Page 153: Mridul FYP FINAL Solution

Smart Mail

Chapter 8

PTL00782209 Asia Pacific Institute of Information Technology Page 153

Page 154: Mridul FYP FINAL Solution

Smart Mail

Testing

Software development is the pinnacle of a sequence of corresponding performance projected

at meeting its confirmed objectives. Software development in itself is a comprehensive

procedure which involves unpredictability of its human designers and developers. In SDLC

Testing can be implemented on each and every section, which in return ensures a quality

assurance for the system being developed. It is a substitution between budget, time and

quality.

8.1:-OBJECTIVE:

The main objectives behind testing in the developed Real Time Mail Service are:

Ensure that the system is able to function smoothly.

Ensure that all the major functionalities have been incorporated into the system.

The system is able to meet its set objectives.

The system is acceptable to the users.

8.2:- TEST PLAN:

The developer decided to conduct the following testing methods for the project testing:

Unit Testing and Functional Testing

Integration Testing

GUI Testing

Compatibility Testing

Security Testing

User Acceptance Testing

Table 10: Testing

PTL00782209 Asia Pacific Institute of Information Technology Page 154

Page 155: Mridul FYP FINAL Solution

Smart Mail

SL

No

Testing

Method

Application Area

1 . Unit Testing In unit testing all the individual units of the system

will be tested for their proper functioning and

Implementation. Black Box testing will be employed

to identify the faults in the system and corrective

measures will be taken.

Functionality.

2. Integration

Testing

The individual units are tested for proper functioning

of the system.

Functionality

3 GUI Testing It provides with the heuristics for the proposed system

user interface.

HCIU

4 Compatibility

System

To make sure that the system is capable to work in

different OS.

Compatibility

5 User

Acceptance

Testing

To make sure that the system developed is able to

deliver its stated objectives to the user.

User

Acceptance

PTL00782209 Asia Pacific Institute of Information Technology Page 155

Page 156: Mridul FYP FINAL Solution

Smart Mail

The following section describes the purpose of each of these testing methods in the system:

8.3:-TEST SCHEDULE:

Sl. No Test Strategy Start Date End Date

1 Unit Testing 5th February 2011 2nd April 2011

2 Integration Testing 20th February 2011 2nd April2011

3 Regression Testing 4th April 2011 4th April 2011

4 GUI Testing 5th April 2011 7th April 2011

5 Compatibility Testing 7th March 2011 10th April 2011

6 Security Testing 10th April, 2011 10th April 2011

7 User AcceptanceTesting

11th April 2011 15th April 2011

8.4:- TESTERS:

Developer

Mr. Sasanka Bhuyan.

Mr. Simanta chakrabarty.

Mr. Manash Deuri.

Most of the testing task was performed by the developer himself. He himself acted as the test

manager and analyst. The help of the other above mentioned people were sought basically for

GUI testing and User Acceptance Testing.

8.5:- PASS/FAIL CRITERIA

The success criteria for the system have been stated in the first chapter of this document. The

system should meet the following requirements in order to be called successful:-

All the major modules of the system should function properly.

The system should be accessible only to the registered user.

GUI developed should be consistent and in accordance with HCIU principles.

PTL00782209 Asia Pacific Institute of Information Technology Page 156

Page 157: Mridul FYP FINAL Solution

Smart Mail

8.6:-UNIT TESTINGUnit testing focuses on the smallest unit of a project – a module. One of the main

goals of unit testing is to evaluate a piece of a program in isolation. Each of the individual

modules is tested against their stated objectives. With each separate module comes with a

prototype which is being used as a testing subject, and also for the purpose of letting third

party users to use the system in order to perform the user acceptance testing. The feedbacks

and criticisms received at these moments were recorded and taken into consideration for

future enhancements or even changes of the module.

Unit testing can be:

1. Black Box testing: where the tester has no knowledge of the internal workings of the

item being tested and is solely based on the knowledge of the system requirements.

Also called as functional testing.

2. White Testing: also known as logical testing requiring knowledge of the

implementation.

8.6.1:-Black Box Testing

For conducting Unit testing the developer has divided the system into modules as

below:

1. Login & authentication module

2. Project initiation (create Inbox, Compose mail, Draft, Trash, Delete section)

3. Add your view and add your topic section into forum.

4. New user Account Registration.

5. Password change and log out.

6. Multiple account access module

White Box testing Module: User Login

Start date: 15th march 2011 End Date: 25th march 2011

PTL00782209 Asia Pacific Institute of Information Technology Page 157

Page 158: Mridul FYP FINAL Solution

Smart Mail

PTL00782209 Asia Pacific Institute of Information Technology Page 158

Page 159: Mridul FYP FINAL Solution

Smart Mail

Basic path:

1. 1-2-3-12 or 1-2-4-12 or 1-5-7-12 or 1-5-11-12

2. 1-5-9-6 or 1-5-10-11-6 or 1-5-11-6

PTL00782209 Asia Pacific Institute of Information Technology Page 159

Page 160: Mridul FYP FINAL Solution

Smart Mail

Module 1: Login and Authentication

Table 11: Unit testing for login panelProject title Smart Mail Test Date 5th February

2011

Test case Name Login and Authentication

Test case Id T1

Tester Developer

Test Duration 1 hour

Description Perform login validation

Test Subject Test Method Expected Result Actual Result Remarks

Login panel Correct login

data

Login successful,

redirect to user

Home page

Login

successful, no

redirection

Login is

working

properly

Login panel Authentication

type

Login successful,

redirect to next page

based on

authentication

Login

successful,

redirected to

correct

authenticated

page

Authentication

check is

working

properly

Page session

authentication

Check if a

page requiring

authentication

Redirect to user

home page

Page redirected Page session

based

authentication

working fine.

Conclusion: Module is working perfectly without any error

Module 2: user page Table 12: Unit testing for Project Initiation

PTL00782209 Asia Pacific Institute of Information Technology Page 160

Page 161: Mridul FYP FINAL Solution

Smart Mail

Project title Smart Mail Test Date 16th April, 2011

Test case Name User Webmail Pages

Test case Id T2

Tester Developer

Test Duration 5 hour

Description Perform validation

Test

Subject

Test Method Expected

Result

Actual Result Remarks

Inbox Check mail Display list of

all the

existing mail

with mail

summary

page

List of mail

displayed.

Link updated, working

successfully

Compos

e mail

Check mail

for

composed

Mail has been

send to the

sender

correctly.

Folder checked,

process stopped,

displayed error

message

The module is running

successfully

Draft Check mail

which is

already save

mail has to

save in draft

Process stopped,

displayed error

message

The module is running

successfully

Trash

mail

Check mail

which

deleted

already

Mail is save

in the trash

folder

No folder created,

error due to write

permission

Modify code to check for write

permission.

Delete

mail

Check mail

has delete.

Mail has to

delete.

Not all Session

variables are

created

Update the code to create all the

session variables and check for

all variables otherwise display

error. Problem solved

PTL00782209 Asia Pacific Institute of Information Technology Page 161

Page 162: Mridul FYP FINAL Solution

Smart Mail

Integration TestingAs explained earlier this is the test to ensure how the modules execute when they are

combined together and work in a rational environment. The test primarily checks the calling

of functions, passing of variables, global properties and their effect on working of individual

modules.

In case of SMART MAIL the integration was performed in three steps:

i. Integration of ASP.Net modules

ii. Integration of C# modules

All the ASP.NET modules were integrated. The integration testing at this level is performed as follow:

PTL00782209 Asia Pacific Institute of Information Technology Page 162

Integrated ASP.NET modules

Integrated C# modulesIntegrated Smart

Mail

Page 163: Mridul FYP FINAL Solution

Smart Mail

Table 13: ASP.Net Integration testTest Subject Test Method Expected Result Actual Result Remarks

Connectivity

using ‘next

step’ link on

each page

Click on the link

‘next step’ on

each page to

check navigation

Navigate to the

next page

maintaining the

session

Navigates to the

next page

Successful

navigation

Connectivity

using main

menu

Check if the main

menu links

navigate to the

proper sections

Main menu

links navigate to

the appropriate

page.

All links were

working

properly

Successful

navigation

Update project

status

Checks if the

project status is

updated each time

the page is

navigated

Update the

project status in

database as well

as session.

Only the project

database was

updated.

Need to append

the code to

update session

value as well.

Successful in 2nd

iteration.

Finally the fully integrated Smart Mail is tested for integration testing.

Table14: Integration TestTest Subject Test Method Expected Result Actual Result Remarks

Connectivity

between

ASP.NET, C#

and SQL

server

Check if proper

pages are

displayed,

selected, copied

using .aspx pages

Appropriate

code is used for

display

Appropriate

code are used

everywhere

Connectivity

between

ASP.NET and

SQL Server is

appropriate.

Test run of the

complete

system*

Check overall

integrity of the

system

No problems

occur from

projects creation

to publishing of

system

The system

follows the

complete path

Test satisfactory

System Testing

PTL00782209 Asia Pacific Institute of Information Technology Page 163

Page 164: Mridul FYP FINAL Solution

Smart Mail

Table 15: System testing Test Subject Test Method Expected Result Actual Result Remarks

Check general

system

working with

trial

data(perform

black box

testing)

Test the output of

the system based

on given input

data.

All the data

inputted is

published in the

output file

based on the

data type

associated

The system

publishes the

appropriate

output files

based on user’s

choice and input

data.

Successful test.

Low end

system test

Test the system’s

performance on a

low configuration

system (the

configuration is

compatible with

minimum system

requirement)

The system

should work

fine except few

performance

issues like slow

processing, low

quality of

output.

The ASP.NET

processing took

time than

normal

processing

The system as

projected earlier

gave below

average

performance.

Compatibility TestingThe system is developed independent of the platform for deployment. Also the user section is

deployed on a web browser so it is expected to work in exactly same fashion on every web

browsers.

The compatibility testing for browser compatibility was performed on the developers system

using the following browsers:

Internet Explorer 6.0

Mozilla Firefox 2.0

Google Chrome

Apple Safari 3.2.2

Opera 8.5

The compatibility testing for OS independency was performed on following operating

systems:

PTL00782209 Asia Pacific Institute of Information Technology Page 164

Page 165: Mridul FYP FINAL Solution

Smart Mail

Table 16: Compatibility test OS detailsOperating System System detailsMicrosoft Windows 98, 2000 Owner: Mr. Sasanka Bhuyan(peer student)

Configuration: Intel P4 processor, 512MB RAMServer:

Microsoft Vista Owner: Mr. Mridul Kr. Boruah Configuration: Intel core 2duo processor, 2GB RAMServer:

Ubuntu 6.04 Owner: Mr. Simanta Chakrabarty(peer student)Configuration: Intel P4 processor, 512MB RAMServer:

Apple Mac OS X Owner: Mr. Mohan Chetry (Peer student)Configuration: Intel Core Duo processor, 1GB RAMServer :

Table 17: Compatibility test for OSTest

Subjec

t

Test Method Expected Result Actual Result Remarks

Microsoft Windows 98, 2000

Deployment of

the system, black

box testing

Suitable deployment,

appropriate output on

black box testing,

average performance

System deployed and

Passed black box

testing with above

average performance

More than

expected result.

Test successful.

Microsoft Vista

Deployment of

the system, black

box testing

Suitable deployment,

appropriate output on

black box testing, Best

performance

System deployed and

Passed black box

testing with best

performance

Test case

successful

Ubuntu 6.04

Deployment of

the system, black

box testing

Suitable deployment,

appropriate output on

black box testing,

above average

performance

System deployed and

Passed black box

testing with best

performance

Test successful

Apple Mac OS X

Deployment of

the system, black

box testing

Suitable deployment,

appropriate output on

black box testing,

above average

performance

System deployed

with minor tweaks

that hindered

performance. Passed

black box testing

The code was

reconsidered

and rectified.

Performance

increased in 2nd

PTL00782209 Asia Pacific Institute of Information Technology Page 165

Page 166: Mridul FYP FINAL Solution

Smart Mail

with average

performance.

iteration.

Compatibility testing for web browsers is as shown below:

Table 18: Compatibility testing for web browsersTest

Subject

Test Method Expected Result Actual Result Remarks

Internet Explorer 6.0

Check visibility,

absolute positioning,

scroll property & other

HCI interface

guidelines

Correct positioning,

size and scrolling of

divisions.

Appropriate font

size.

The text size

larger than

expected.

Proper output in the

2nd iteration. Test case

passed.

Mozilla Firefox 2.0

Check visibility,

absolute positioning,

scroll property & other

HCI interface

guidelines

Correct positioning,

size and scrolling of

divisions.

Appropriate font.

Web pages

appears

exactly as

expected by

the developer

Test case passed.

Google Chrome

Check visibility,

absolute positioning,

scroll property & other

HCI interface

guidelines

Correct positioning,

size and scrolling of

divisions.

Appropriate font

size.

Web pages

appear larger

and more

attractive.

Better result than

expected.

Apple Safari 3.2.2

Check visibility,

absolute positioning,

scroll property & other

HCI interface

guidelines

Correct positioning,

size and scrolling of

divisions.

Appropriate font.

The layout of

the system

appears

smaller but no

problem with

the look and

usability

issues.

Pass test case.

Opera 8.5

Check visibility,

absolute positioning,

scroll property & other

Correct positioning,

size and scrolling of

divisions.

Web pages

appears

exactly as

Test case successful.

PTL00782209 Asia Pacific Institute of Information Technology Page 166

Page 167: Mridul FYP FINAL Solution

Smart Mail

HCI interface

guidelines

Appropriate font

size.

expected by

the developer

SECURITY TESTINGSmart Mail has various types of users operating at the same time. Care must be taken such

that roles of the various users do not get coagulated. Each type of user must only be

accessible to its own set of predefined roles and responsibilities.

Question Answer Action Taken

Is the system accessible to

anyone using the system?

only a registered user can login to

the system

Test Pass (No Action)

Does any user can access all

the feature of the system?

The authentication of the user and

its roles is mainly checked at the

login page. So, to login to the

system, the user must select his

user type and then the verification

would be done to make his/her

service available.

Test Pass (No Action)

Usability and user acceptance testing

This is done at the completion of the project. This will help the developer to know whether

the system developed meets user requirements. Testing to verify a product meets customer

specified requirements and the user accepts the system that was developed. User acceptance

testing would be done after the development of the entire project.

Project Name Smart Mail Test Date 20th April 2011

PTL00782209 Asia Pacific Institute of Information Technology Page 167

Page 168: Mridul FYP FINAL Solution

Smart Mail

Test Name Test Case Number UA-1

Conducted By Mohan Chetry

Sasanka Pritom Bhuyan

Manash Jyoti Deuri

Simanta Chakrabarty

Description Will mainly test the user acceptance of the system

Name of the Tester/

Experience percentage

Functionalities of the System

User able to login

to the system

User are

redirected to his

proper account

with its roles

Able to use

desktop

application

Check

Results

Mohan Chetry Yes Yes Yes Yes

Experience % 100 100 100 100

Sasanka Bhuyan Yes Yes Yes Yes

Experience % 100 100 100 96

Manash Deuri Yes Yes Yes Yes

Experience % 100 100 100 100

Simanta Chakrabarty Yes Yes Yes Yes

Experience % 100 100 100 100

Sign Off

Phase Name Date Signature

User Acceptance

Test release

Mohan Chetry 20th April 2011

Sasanka Pritom Bhuyan 21th April 2011

Manash Jyoti Deuri 20th April 2011

Simanta Chakrabarty 20th April 2011

Conclusion

PTL00782209 Asia Pacific Institute of Information Technology Page 168

Page 169: Mridul FYP FINAL Solution

Smart Mail

The testing period prepared the developer responsive of the genuine status of his system.

Many problems and shortcomings of the system were identified and eventually sorted out,

this lead to an extensive research of the domain and technologies used by the developer in

making SMART MAIL. The developer hereby completes the testing of the system and feels

satisfied with the test results brought about by him and the test users.

PTL00782209 Asia Pacific Institute of Information Technology Page 169

Page 170: Mridul FYP FINAL Solution

Smart Mail

Chapter 9

PTL00782209 Asia Pacific Institute of Information Technology Page 170

Page 171: Mridul FYP FINAL Solution

Smart Mail

Evaluation

Degree of success

The developer has selected the following criteria for degree of success:

Meeting objectives and user requirements –If a project is meeting all the objectives and

requirement of user declared in its plan, then it’s termed as a successful project.

Functionality – Every single functionality involved in the system should be evaluated for it’s

worth.

Usability – due to the lack of usability guidelines a substantial amount of projects has been

failed. This being a project in which a usability check is necessary for evaluation.

Level of Content – Show the amount of detailed and well presented information and content

available in the system.

Project Management – A successful project always depend upon to follow the project

management guidelines, these will be evaluated.

Research and Analysis – To become a project successful a high-quality amount of well

explored research and analysis job is essential.

Documentation – Documentation is also an essential task to do for the new user as well as

developer so it will be evaluated for the contents, language and grammar.

PTL00782209 Asia Pacific Institute of Information Technology Page 171

Page 172: Mridul FYP FINAL Solution

Smart Mail

Meeting the objectives and user requirements:

A checklist is created to evaluate if the project meets the user requirement:

Table 19: Meeting user requirements evaluationEvaluation Parameter Checklist

Application of HCI guidelines to the system design

Maintain user’s awareness

Usage of all the elements to express the objective

To make absolute employ of available resources for

conveying out the best product to meet user prerequisite

Overall performance of the system as compatible with the

features, designs

Make accessible features to carry novice and expert users in a

consistent environment.

FunctionalitiesTable 20: Functionalities Evaluation

Evaluation Parameter Checklist

Provide platform to develop interactive login.

Allow user to add topic and view topic in the Forum.

Allow user to view mail in the INBOX.

Allow user to send mail by using the “COMPOSE MAIL”

facility.

Allow user to see the delete message by using the “TRASH”

option.

Allow user to download the Smart Mail desktop.

Allow user to compose mail to different account from

Desktop app.

Allow new user to register them to use the Smart Mail

facility.

Smart Mail offline application provides to the facility to the

PTL00782209 Asia Pacific Institute of Information Technology Page 172

Page 173: Mridul FYP FINAL Solution

Smart Mail

user such as multiple account access and sends mail.

Log out option is available to user in web mail section.

Use of database and authentication methods for security

Use templates, Photoshop, Paint tools.

Minimizing the size of the code and data

Usability

Table 21: Usability EvaluationEvaluation Parameter Checklist

Allow user to navigate to any page if interested

Allow user to access multiple mail account in a single

platform

Error prevention and validation

Professional looking interface

Level of Content

The consistency of the data provided in the system depends on the assessment of the level of

content for any system. In the Smart Mail system most of the data is based on primary

research like questionnaire which has been conducted by the developer with varied users to

get the real world expectation. The remaining data has been gathered from different related

books, websites, journals and other reference material already referenced in the

documentation. Some of the data is based on real life facts interpreted by the developer. The

contents of using Smart Mail are used precisely by all kind of users as well as professionals

for their personal and business importance. The specifications must be accurate and makes

sense. The main purpose of this project will be destroyed, if system happens to deliver wrong

messages to the users.

Project Management

PTL00782209 Asia Pacific Institute of Information Technology Page 173

Page 174: Mridul FYP FINAL Solution

Smart Mail

With project management points of view it may be ranked among medium-high when we

consider the whole system to be develop. The project planning, research and corresponding

analysis part went efficiently. The designing of the system was middle-of-the-road that

eventually lead to interruption in implementation part.

The stoppage in designing phase has leaded the system to bind the functionalities and thus

reducing the scope. As the developer was short on time the extraordinary functionalities to be

incorporated in the system were trimmed.

The only thing that could have been done improved would definitely be the time

management. Also there has not been any similar system has been previously developed in

the similar domain, therefore the developer required widespread research in similar domain

of smart mail presentation developments. Due to the lack of experience in completing a

project of such a scale alone, most of the time set in the Gantt chart is pure assumptions,

which soon very much affects the rest of the project progress.

Research and Analysis

The research and analysis performed in the system can be evaluated based on the individual

tasks performed in the two phases, as follows:

Table 2: Research & Analysis EvaluationEvaluation Parameters ChecklistPrimary Research:

Questionnaire survey Secondary Research:

Domain research Research on tools required Research on Implementing HCI Research on technologies involved Research on competitive software’s

AnalysisAnalysis of Questionnaire Risk Analysis Analysis of tools & technologies to be used

Documentation

PTL00782209 Asia Pacific Institute of Information Technology Page 174

Page 175: Mridul FYP FINAL Solution

Smart Mail

The documentation had been checked systematically for any existing spelling or grammar

mistakes. Many exact information are also been rehabilitated into table and points from

which present better and easy reading.

APIIT standard of documentation writing format should be follow during the documentation.

The entire documentation is separated into hierarchy of sections, chapters and internal

heading. All the referenced resources are appropriately cited and their resources are also

noted down in the bibliography page following the Harvard standard of referencing system.

Overall

The objectives of the system (are fulfilled or not) will be analysed after the comprehensive

evaluation of all modules. The system can now termed as complete but again there is a

disclaimer associated with it. The system is just the work of single student over the period of

1 year so it cannot be completely compete the professional software’s present in the market.

PTL00782209 Asia Pacific Institute of Information Technology Page 175

Page 176: Mridul FYP FINAL Solution

Smart Mail

ConclusionThe era of programming by writing code in a code editor is long gone. These days’

programmers are approaching towards rapid code development. Shorter life cycle

development and easier maintenance of developed systems can be achieved through different

approaches ranging from computer-aided development to rapid prototyping and model

development.

 

The chosen software tool may shorten the production period but, at worst, may considerably

prolong it. If the modeling environment is too complex, the programmer will require training

and practice time before becoming creative - time that we simply do not have.

What if you were asked to remake the project?

If the developer was asked to remake the project he would be

Use of proper design pattern in developing the project and implementing the action

scripts in different parts of the project.

o Able to write better OOP code, and reuse that code in other programs. gain

proficiency in programming more complex applications,

o Design patterns actually make programming easier.

o Design patterns not only provide solutions for common challenges, but also

focus on maintenance and change.

Learning ExperienceThe learning experience has been outstanding. It could be as my best project

development experience thus far away. It may appear awkward but students do appear not to

take their FYP seriously from its start however it doesn’t lose its weight. I am the most

interested person when it becomes to marketing a product. This was one of the reasons I

chose to make such a system for users, because it’s unique functionality.

This project gave me an outlook to develop a system that will help everyone to

creating such a unique system. Yes, of course, my awareness can be cherished by everybody

even if he/she is new to computer world. I take this as one of my personal achievements.

PTL00782209 Asia Pacific Institute of Information Technology Page 176

Page 177: Mridul FYP FINAL Solution

Smart Mail

Honestly, I never perceived the final product in this form as it is at the initiation of the

project. Now that I have developed it, it’s hard for me to believe it.

The system was developed keeping in mind that users trying to present their ideas

The tool was developed keeping in mind the beginners trying to present their ideas but never

accomplish it due to computational challenges. I personally was not capable to present my

ideas except I have used up considerable amount of time learning these software’s. I would

like to support the users using this system and motivate them to do something of their own

interest.

It was the first time I was performing such a passionate research work interviewing

people from different background helped me learn a lot. It was the first time I have conducted

the questionnaire, and the experience was amazing.

To conclude, I feel very pleased at this moment when my project is done and thankful

to all the support I got from everyone and especially my supervisor and advisor.

PTL00782209 Asia Pacific Institute of Information Technology Page 177

Page 178: Mridul FYP FINAL Solution

Smart Mail

References

Books:

1. Bellinaso Marco (2006). ASP.NET 2.0 Website Programming: Problem - Design -

Solution (Programmer to Programmer). Paperback

2. Matthew MacDonald, Matthew MacDonald, and Julian Templeman (2005).

Beginning ASP.NET 2.0 in C# 2005: From Novice to Professional

3. Schwable, Kathy, Information Technology Project Management, Cengage

Technology, 2008

4. Jalote, Pankaj. 2005, Sixth Indian Reprint. Software Project Management in Practice,

Pearson Education (Singapore) Pte. Ltd.

5. Mall, Rajib. 2008, Second Edition. Fundamentals of Software Engineering, PHI

Learning Private Limited, New Delhi.

6. Hughes, Bob. Cotterell, Mike. 2005, Third Edition. Software Project Management,

Page No. 62, McGraw-Hill, New Delhi

Other White Pages

1. John Jogi. (2010). Selecting and Adopting the Right SDLC is an Innovated

Management Decision. Advances in Computational Sciences and Technology.

2. Bergandy Jan. (2006). Teaching Software Engineering with Rational Unified Process® (RUP). ASEE New England Section 2006 Annual Conference.

PTL00782209 Asia Pacific Institute of Information Technology Page 178

Page 179: Mridul FYP FINAL Solution

Smart Mail

APPENDICES

PTL00782209 Asia Pacific Institute of Information Technology Page 179

Page 180: Mridul FYP FINAL Solution

Smart Mail

PPF

Smart Mail

Please describe the type of the system being developed?

A new Web Mail Service for You, Smart Mail is a webmail application that provides to

single access to all of your mail accounts. You can create new Account here like Yahoo,

Gmail etc. The Session is handled by Single Page Auto Invalidate Method. This will increase

your mail security. A simple entry registration process is required. And your password will be

handled using RSA Encryption method. The very important and unique feature is that you

can easily check your Rediff, Hotmail, and Gmail account from this Webmail without login

into the respective sites. It means this webpage acts as an email client (Like Outlook

Express). The protocols (SMTP, POP3) all will be implemented from scratch without any

API's.

Who is system being developed for?

Anyone who has the basic knowledge of computer and internet and who frequently works

with mail systems like Gmail, yahoo, hotmail etc. can use this system. Anyone ranging from

home users to office users; interested in the habitual check of their mail while they are away

and having the internet connection needs this system.

Why is such a system required?

This system is essential for those users who have multiple mail accounts in different mail

servers and want to use all the account simultaneously in one platform rather than go to the

different mail sites. Today people are very concerned about the time and speed and the faster

that technology can deliver the more one is inclined to it. Such a system is created for the sole

purpose that a user can use this application for fast access to his or her mail. The system is as

well reliable and it’s not a time consuming site to perceive the different mail account in one

webmail platform. Furthermore the cost for deploying or undertaking maintenance measures

is phenomenally low by using the highly competent and attractive deployment of my

application.

PTL00782209 Asia Pacific Institute of Information Technology Page 180

Page 181: Mridul FYP FINAL Solution

Smart Mail

What will be the main challenge for you in building the system?

The main challenge for developing such system is to recognize the basic concepts as well as

the key strategy for developing Smart Mail system. The strategy allows limited resources to

be targeted to the key needs within the organization and to ensure the delivery of the greatest

business benefits and as well as give us a solid foundation for developing such system. The

challenge of creating this system is to replace the conservative security system using RSA

encryption method to increase your mail security, which will connect better technologies to

beat the features of present systems to deal with the issues and problems pertaining to

security violation which were never addressed and to make sure that a higher level of security

is provided for the end user. Most surveillance systems either address part or scantily address

some aspects of the problem domain of the users and require user intervention to achieve

optimum security. The choice of a suitable combining technology to tackle the central issues

will definitely create a foremost challenge as one will have to smack a balance between the

quality and practicality. Unlike other current systems, this system would be able to look for,

get back and counterpart the thought security offender and aware the relevant authorities

accordingly.

What new ideas and theory will you need to learn to build the system?

1. The concepts and process of RSA Encryption method.

2. Key strategy for developing SmartMail system.

3. Concepts of SMTP (simple mail transfer protocol)

4. Searching strategy and techniques associated with my project.

Mridul Kr. Boruah

PT0782209

<<<<<<<<<<<<<<< End of PPF >>>>>>>>>>>>>>>

PTL00782209 Asia Pacific Institute of Information Technology Page 181

Page 182: Mridul FYP FINAL Solution

Smart Mail

PSF

SMART MAIL A WEBMAIL

Your data is secure, you are secure

Brief description on project background.(.i.e. problem context, rationale, description of problem area, nature of challenge

Problem context: I had found the following problems in the existing system during the

research session….

System starts downloading but it stops always in the same E-mail

System keeps downloading the same E-mails over and over

It just "sits there" or gives me a Server time out error

It cannot find server.

Spellchecking is not functional after installing an enabling application.

Hyperlinks are not working some time.

Contacts problem, it’s a problem when composing an email as Outlook will not

recognize your contacts directly.

A user has several choices for your email client application, including a range of web

email services. However, many people prefer to use a stand-alone application designed

specifically for email since they sometimes have a better focus and features. Some people

avoid the Microsoft Outlook application because of its historic vulnerability to viruses.

Rational:

The rise of email as a communication tool has been critically important in the business and

commerce world. It allows for instant dialogue between colleagues, clients and contractors,

and it's also free. For many companies, the wide reach of emails has allowed them to access a

client base far larger than ever previously conceived, thus providing the potential for

increased revenues.

PTL00782209 Asia Pacific Institute of Information Technology Page 182

Page 183: Mridul FYP FINAL Solution

Smart Mail

Where paper copies of important correspondence and documents can easily be lost, every

email sent and received is stored electronically, reducing the risk of accidental loss and

providing a company with records of transactions made, orders raised and other important

conversations that may need to be retained for future use.

 A type of e-mail sent for commercial purpose.  For instance, the e-mail may promote a

product or server, be an order confirmation, be a subscription update, or be an opt-out. It is

important, though, to differentiate transactional commercial messages from advertisements,

as the later is subject to additional requirements. However, all e-mail is monitored from three

angles to protect consumers and industry:

(1) deception,

(2) network and technological strain, and

(3) Costs imposed on the recipients.

Smart mail is an e-mail client that runs on computers, we mean that it interacts directly with

the user, allowing mail to be sent, read, filed, and printed. Smart mail can be left running

permanently on the workstation and includes powerful tools to notify the user when new mail

arrives.

Benefits of the system:

Benefits come in two types. Tangible benefits are those that can be measured and assigned

some kind of number or dollar value. Intangible benefits are benefits that cannot be measured

or even quantified.

Tangible benefits

1. Reduce Cost of Internet: as Smart Mail deals with offline accessing of mail, so the users

need not have to worry about the internet connection. This will save their money to a great

extend.

2. Saves time: As the system is to be made online and offline so it saves time of the users.

The users can now access their mail offline sitting at home without having to wait for

opening their different mail account form different sites.

PTL00782209 Asia Pacific Institute of Information Technology Page 183

Page 184: Mridul FYP FINAL Solution

Smart Mail

3. Reduces training cost: the Smart mail system interface of my application in both online and

offline will be very friendly and based on the principles of HCIU. This will save

organizations from investing heavily in training in terms of both time and cost.

4. Smart mail allows user to access multiple accounts at the same time in same window.

Intangible benefits

1. Reduced unscrupulous activity: The user knows that their each and every activity on

the email is being monitored and recorded. This will discourage them from indulging

in any unscrupulous activities.

2. Increases Privacy and security. I will use RSA Encryption method to increase the user

privacy and security.

3. Better management of marketing information and customer information.

Target user of the system:

Users are at the forefront of any development activity. A system to be successful must be able

to meet the requirements of its intended users efficiently. Targeted users comprises of those

intended users.

The system will mainly be developed by targeting the information seek peoples such as

student, professional, business person etc. to fulfill their requirements. Anyone who has the

basic knowledge of computer and internet and who frequently works with mail systems like

Gmail, yahoo, hotmail etc. can use this system. Anyone ranging from home users to office

users; interested in the habitual check of their mail while they are away and having the

internet connection needs this system.

Description of problem area:

While email is now widely accepted, it only represents a developing stage that will over the

next five years develop into entirely new forms of communications that more directly and

efficiently suit the needs of businesses and organizations.

Problem: Existing system has the ability to split attachments into chunks.

o Justification: This can be both annoying, if it was setup without knowing, or

useful. Some Service Providers have a maximum limit on the size of emails.

PTL00782209 Asia Pacific Institute of Information Technology Page 184

Page 185: Mridul FYP FINAL Solution

Smart Mail

So your email Service provider may only allow a maximum of 1mb and will

reject everything above that.

Problem: Have you noticed when you try and click on a hyperlink in an email,

nothing happens.

o Justification: This could be a number of reasons:

Virus Software is preventing links from opening

Default Browser is not set correctly

Windows File Association for web pages could be wrong

Problem: In a existing system I have found that as many times user receive an email

from an address and user just delete it.

o Justification: It may be as simple as just unsubscribing from the mailing list.

However, sometimes you may just want to block the email address so it

doesn't end up in your Inbox.

Problem: most users do not want that their email and password should be saved in a

particular site. It has a large security problem.

o Justification: In the proposed system developer will use the RSA encryption

method; here messages are translated into sequences of integers. This can be

done by translating each letter into an integer, as is done with the Caesar

cipher. These integers are grouped together to form larger integers, each

representing a block of letters.

Problem: Other existing system has trouble downloading new mail.

o Justification: These problems can occur if you do not compact the Inbox. The

mailboxes require intervallic protection to avoid such problems from

occurring. By the time the problems occur, compacting the Inbox, though still

required, may not be sufficient to resolve the problem. In the proposed system

this kind of problem won’t be happen. Because the developer will use the

actual methodology of SMTP and POP3 protocol.

Problem: Same mail messages continue to be downloaded from POP3 account.

PTL00782209 Asia Pacific Institute of Information Technology Page 185

Page 186: Mridul FYP FINAL Solution

Smart Mail

o Justification: If your POP3 mail account is configured to "leave a copy of

messages on the server" it sometimes happens that OE downloads the same

messages each time you send and receive. This is caused by a damaged Pop3

file in your Identity's store folder.

Problem: I had found sometimes that many existing system has trouble to

downloading new mail.

o Justification: When this happens, you may receive new messages that are

empty when you try to open them or multiple entries for the same new

messages in the inbox.

One common problem in some existing system is that users experience is an inability

to send messages. If you are unable to send messages, try deleting the outgoing mail

(SMTP) password for your account.

Major problem areas in my system are:

Accessing data without login: Smart mail has the features of accessing the other mail

account without login to respective sites. This is the main problem area to building the

system.

RSA Encryption:  RSA encryption method, messages are translated into sequences of

integers. This can be done by translating each letter into an integer, as is done with the Caesar

cipher. These integers are grouped together to form larger integers, each representing a block

of letters.

Nature of challenge :

The main challenge of the proposed system consists of several categories:

Security: Maintaining security and privacy is one of the most demanded features for any

browser. So creating an application with a secure environment is major issue. The security

issues are major challenge as the system will provide users to access the data from their

choosing mail site without login in offline, it also means that without having internet users

can see their mail boxes.

PTL00782209 Asia Pacific Institute of Information Technology Page 186

Page 187: Mridul FYP FINAL Solution

Smart Mail

Creating enhanced user interface: User interface is one of the major success criteria for any

user oriented system. So, developing a user interface by keeping in mind user requirements is

hard to achieve.

Without login: user can access multiple account from the proposed system at the same time

and at same window. User does not need to login all the time to access their multiple

accounts. Because the proposed system has a option like” Remember password”. If the user

click this option after giving their necessary information to log in to smart mail. Until user

uncheck the that particular option user does not need to login again and again to use the

system.

Password Manager: Log on to e-mail, social networking sites, banks and other sites in just a

single click by keeping the password saved can be an advanced feature. Passwords are

encrypted and stored safely on the server.

Brief description of project objectives.(i.e. scope of proposal and deliverables

Project Goal and Objectives

The major goal of this project is to come up with a secure and effective mail client system,

called Smart Mail. This system is required to be developed within the estimated time

duration and cost budget, the developed system will also need to meet the user requirements

and produce the expected deliverables at the end of the development.

Project Objectives:

The major objective of this project is to approach up with a secure and effective mail

client system.

This system is required to be developed within the estimated time duration and cost

budget.

The developed system will also need to meet the user requirements.

Produce the expected deliverables at the end of the development.

The product should enable the user to block any application or a user in the mail.

Academic Objectives

PTL00782209 Asia Pacific Institute of Information Technology Page 187

Page 188: Mridul FYP FINAL Solution

Smart Mail

Apart from the above mentioned project objectives, the project should enable the

developer snatch a solid grip on various Project Management and HCI principles and

conventions.

Success Criteria:

The success of the system being developed in terms of:

Meet up the user requirements: Once the system is deployed whether it is able to

fulfill all the user requirements.

Functional requirements: Whether all the modules of the system are operating as

intended or not.

Passing the test criteria: Whether the system is able to pass the set test criteria.

Usability and HCI evaluation: Whether the system follows accepted HCI norms and

conventions.

Project scope and deliverables:

Smart Mail brings security and performance together, delivering high profile enhancements

that don't compromise safety. Every message in your inbox will now have a corresponding

status icon. These icons will inform the user of what actions have been taken for each

individual email. The types of status icons include: read, unread, forwarded, and replied

The system itself will be designed specifically as a non-passive application which allows a

certain level of interactivity between the user and the system, the overall features and

function of the system will be done. The scope of this system is to provide essential

information of the basics and fundamentals of email client, and to provide interactive guides

for the user to have better learning experience and understanding.

Soft cover documentation of the system

Hard cover documentation of the system

A prototype of the system application on CD

Smart mail does all the basics of e-mail extremely well and far more than that. This list is by

no means comprehensive - it concentrates on the highlights.

Core features of the system:

PTL00782209 Asia Pacific Institute of Information Technology Page 188

Page 189: Mridul FYP FINAL Solution

Smart Mail

Basic functionality of email: in this module system will provide the basic

functionality to the user such as read, send, forward mail in offline, delete, draft,

blocking mail, as well as will have the options for spam, sent mail, contacts.

Calendar: in this module user can set time, date including essential task, meetings.

Tasks: with the help of this option user can set something for future use.

Email filtering is the processing of e-mail to organize it according to specified criteria.

Sort your mail by date, size, sender, subject, color or thread, in ascending or

descending order

Advanced feature of the system:

1. Support for major Internet mail-related protocols - SMTP, POP3

2. Powerful, multiple address books with full user detail records

3. Offline operation allows you to read and compose your mail while you are not

connected to the Internet.

4. Automatic hyper-linking of URLs and e-mail addresses, even in non-HTML messages

5. Support for multiple simultaneously accessible POP3 and IMAP mailboxes.

Enhanced and special feature of the system:

1. Powerful encryption interface - the program has its own encryption method, and by

adding readily available plug-in, can support encryptions such as PGP.

2. The very important and unique feature is that you can check your different mail

account from Smart mail without login into the respective sites at the same time and

at same window.

3. Chatting (offline and online) - user can interact with others online as well as they can

send an offline message

Limitations of the project

The scope of a project is limited by time and cost. In this case, time is of essence. If any

features are included into system later on, they will be calculated as special features of the

system.

PTL00782209 Asia Pacific Institute of Information Technology Page 189

Page 190: Mridul FYP FINAL Solution

Smart Mail

As the system solution itself functions on a network i.e. performs its activities

including sending of notification, uploading of notices etc on a network, hence unless

and until the network topology used is strong and robust there is fear for crashing of

the system and hence of the data.

With data being crashed update anomalies will show up in notifications starting with

end users receiving outdated information about news and events.

Other major concerns could be the use of security in the portal solution. Although the

system is designed to provide maximum security and privacy for the end users yet

anomalies may exist in the form of leakage of private information or encroaching of

privacy.

Even though the system is developed for novice as well as for casual users it will

require a computer literate person as a user.

Although it has been ensured that the system delivers information in the most

professional and ethical way yet users may somehow misuse the professional content

of shared knowledge in a way that could be termed unethical.

Brief description of the resources needed by the proposal . (i.e. hardware, software, access to information / expertise, user involvement etc

Hardware requirement: The hardware needed for this project are listed below. The

specification of the PC is:

Processor Intel Pentium 4-1.3GHz or faster or AMD

Ram 512 MB DDR-Win XP2GB DDR- Vista Business or Vista Ultimate

Hard drive 1 GB

Memory 256 MB

Monitor Any standard monitor

PTL00782209 Asia Pacific Institute of Information Technology Page 190

Page 191: Mridul FYP FINAL Solution

Smart Mail

Software requirement: In order to carry out the development of this project, many software

are needed, these include Microsoft Windows XP, which shall be the operating system for the

project to be developed; internet connection will also be needed in order to come up with the

interactive user interface and objects. List of software

Operating system Windows XPWindows vistaWindows 7

Business software Office 2000, 2003, 2007, 2010

Licensing Internet connections required for all computers

Presentation Microsoft powerpoint

Gantt Chart Microsoft project 2003

Diagram Microsoft visio 2003/07

Design Macromedia Dreamweaver 8.0

The main tool and programming language tool be used the most for the project are .NET,

SQL Server 2005. In the RSA encryption method, messages are translated into sequences of

integers. This can be done by translating each letter into an integer, as is done with the Caesar

cipher. These integers are grouped together to form larger integers, each representing a block

of letters.

Windows componentsAfter you have installed the operating system and applied all critical updates, you must

configure the computer to be a Web server by enabling Internet Information Services (IIS)

6.0, including:

WWW

Simple Mail Transfer Protocol (SMTP)

To enable e-mail notifications, you need to configure incoming and outgoing e-mail settings.

To configure sending e-mail alerts and notifications, you must specify an SMTP e-mail

server. To configure your installation so that your SharePoint sites can accept and archive

incoming e-mail, you must install the IIS SMTP service.

PTL00782209 Asia Pacific Institute of Information Technology Page 191

Page 192: Mridul FYP FINAL Solution

Smart Mail

Microsoft .NET Framework 3.0

Before installing Office Project Server 2007, you must install the Microsoft .NET Framework

3.0 and then ensure that ASP.NET 2.0 is enabled.

Access to Information and Expertise

In order to collect the satisfactory and essential information proceeding to the project, some

resources will be needed; these resources may be people from different backgrounds, or

reference books. In terms of gathering information from people and expertise of that

particular area, face to face interviews and questionnaires are both sufficient methods.

Because of that, certain people to be interviewed are:

Lecturers – Lecturers obtain deeper understanding towards specific technical areas in terms

of computing or design, interviewing specific lecturers who specialize in specific areas can be

beneficial to the project.

Casual and novice user– Since the system is about mail client, a face to face interview with

casual and novice users would also provide me a better insight of the foremost system itself,

and also gather more required information.

Professional and Businessman – now a day’s email is a part of usual life, contact with a

professional or businessman can be very knowledgeable in many aspects and importance of

the project, that knowledge would also be very helpful for the development of the system.

Other resources:

Reference Books

Magazines

E-books

Internet websites/forums

User involvements

A positive amount of users will be involved all the way through the procedure during the

development of this project; they can be there to provide opinions, suggestions or even

PTL00782209 Asia Pacific Institute of Information Technology Page 192

Page 193: Mridul FYP FINAL Solution

Smart Mail

critical feedbacks. Not only that, those users can also be the ones that test the system, and

giving evaluations. These users can be:

Supervisor

Advisor

Professional

Business person

Student

Friends or Course mates

Academic research being carried out and other information, techniques being learnt.(i.e. what are the names of books you are going to read / data sets you are going to use

  Research is a significant attribute in determining the accomplishment of a project, as it

provides complete coverage of knowledge, better insights and understanding of the

required area. The type of research to be applied in this project will be mainly primary

researches, such as observation, and interviews. Specific interviews with some of the

experts in the mail system will be essential in order to gather the correct and accurate

information required. As Smart mail is a mail client system is still advanced system,

there is not much information from the television or books about it, and the only solution

is to gather information from the student who have been active to using the mail for some

time.

The development of this project requires a deep insight in many new concept of software

development. Major research area for the development of the project can be:

Key concepts of client server architecture.

Concept of software design methodology.

Usability principles.

Human Computer Interaction Principles.

The advanced concept of .NET and C# framework.

The advanced concept of database management.

To understand and implement the concept of content management systems using

advanced .NET framework.

Understanding the very concept of Email client.

Server Configuration.

To know and implement the protocols for mail client development.

PTL00782209 Asia Pacific Institute of Information Technology Page 193

Page 194: Mridul FYP FINAL Solution

Smart Mail

To have a huge ground exposure to large databases.

To understand the concept of design issues and user feedback.

To understand the concept of SMTP and POP3 protocol.

To understand the concept of RSA Encryption method.

Preliminary researches are being carried with the help of the following sources. As

research work progress more items will be added to the list.

Technical/Programming Research Areas

To successfully develop a project or system, technical and programming skills are both

equally important. The academic research determines the design of the system, while the

technical and programming research will determine the usability of the system. The

processes behind every action performed by the user are to be dealt with specific

algorithms or functions. The research areas are determined by the software used for the

current project:

.NET and C# – .NET and C# will be the main platform for the system; the

operations will be controlled with the use of advance .NET platform.

SQL server 2005 – Smart mail needs its own database to store the data of its user.

The advance features of database and database security approaches will require

good grasp of understanding in order to manipulate these features well.

Information and Resources

In order to carry out the researches listed above, information are to be gathered from different sources, such as:

Books:

13. The Bliss or "Diss" Connection?: Email Etiquette for the Business

Professional by Cherie Kerr and Jim Doody

14. Business E-Mail: How to Make It Professional and Effective by Lisa A. Smith 

15. Outlook 2003 Conquer Email Overload with Better Habits, Etiquette and Outlook

2003 by Peggy Duncan

16. Professional ASP.NET 4 in C# and VB by Bill Evjen, Scott Hanselman,

PTL00782209 Asia Pacific Institute of Information Technology Page 194

Page 195: Mridul FYP FINAL Solution

Smart Mail

and Devin Rader

17. Microsoft .NET: Architecting Applications for the Enterprise (PRO-

Developer) by Dino Esposito and Andrea Saltarell

18. Ultra-Fast ASP.NET: Build Ultra-Fast and Ultra-Scalable web sites using

ASP.NET and SQL Server by Rick Kiessig

19. SQL Bible (Bible (Wiley)) by Alex Kriegel and Boris M. Trukhnov 

20. ASP .NET Programming with C# & SQL Server (The Web

Technologies) by Don Gosselin. 

21. Beginning ASP.NET 2.0 in C# 2005: From Novice to Professional (Beginning:

From Novice to Professional) by Matthew MacDonald, Matthew MacDonald, and

Julian Templeman.

22. Pro ASP.NET 4 CMS: Advanced Techniques for C# Developers Using the .NET

4 Framework by Alan Harris

23. Project Management: A Systems Approach to Planning, Scheduling, and

Controlling by Harold Kerzner

24. Modern Database Management (9th Edition) by Jeffrey A. Hoffer, Mary Prescott,

and Heikki Topi

Magazines:

Mori Seiki Send

People:

Student Casual and novice user Professional Race driver Supervisor Lecturer

Websites: http://www.pmail.com/ http://www.mailcopa-emailsoftware.com/ http://jmailbox.org/ http://www.emclient.com/ http://www.w3schools.com/xml/default.asp http://www.myflashxml.com/ http://www.w3schools.com/asp.net/ajax http://www.w3schools.com/asp.net http://www.w3schools.com/wsdl/default.asp

PTL00782209 Asia Pacific Institute of Information Technology Page 195

Page 196: Mridul FYP FINAL Solution

Smart Mail

http://www.w3schools.com/js/default.asp

Real World Methods and Practices

Methods and practices used in the real world can be useful and effective in researches, in

order to carry out the research required for this project, these methods will be used:

Fact-finding - Some resources from the web can be helpful, there are some good

sites which provide a good amount of information, pictures, and even video clips,

not only that, forum is a good place to seek for further enquiries. A lot of great

drifters do spend quite some time on some specific forums, in which they use it to

share information and prepare events, gatherings and so on. Besides that, mail

magazines are also recommended for fact finding.

Questionnaires – To retrieve feedbacks, opinions from majority users (casual and

novice), questionnaires is an extremely useful method, it can be done on papers,

or do it online through Email.

Interview – There are different methods for interviewing, there is the use of

phone interviewing, online message communication, and the commonly used face

to face interviews. These methods will be applied based on the different needs or

requirements by the interviewees.

Observation – visiting or attending email events will also be very helpful in my

project research, to see how it is done in front of my eyes will mean much more

than reading from some sources.

Current Application – analysis other existing application of the similar kind can

also assists in the development process, it will be positive to learn from others

mistake or success.

Brief description of the development plan for the proposed project.(i.e. which software methodology and why, the major areas of functions to be developed and the order in which developed

Specification and Reason for Software Methodology

Software engineering is carry out of using preferred procedure techniques to progress the

quality of a software development effort. A methodology is defined as a collection of

procedures, techniques, tools, and documentation aids which will help developers in their

efforts (both product and process related activities) to implement a new system. For

successful implementation, a well-organized and systematic approach is crucial. Therefore,

PTL00782209 Asia Pacific Institute of Information Technology Page 196

Page 197: Mridul FYP FINAL Solution

Smart Mail

several methodologies were developed to encourage the systematic approach to planning,

analysis, design, testing and implementation. Methodologies offer various tools and

techniques to assist in analysis, design and testing in terms of detailed design of

software, data flowcharts and database design.

WHY NOT WATERFALL MODEL

This model needs all requirements explicitly, but it is frequently not easy for the

customer to state all requirements clearly.

The model tends to consume a lot more time compared to other software advance

models though it is able to identify exact starting and ending points for a given

project.

Waterfall model does not support iterative approach.

In this model developer cannot change the requirement in the middle of the

project. If changes are tried to be incorporated it leads to more confusion and

further delays.

It defers testing and integration until the end of development lifecycle resulting in

unnecessary risks.

WHY NOT SPIRAL MODEL

Requires considerable expertise in risk evaluation and reduction.

Complex and relatively difficult to follow strictly.

It has lack of risk management experience as well as lack of milestones and management is unsure of spiral process.

WHY RUP MODEL

It lets us take into account changing requirements.

Risks are usually discovered or addressed during integration. With the

iterative approach, you can mitigate risks earlier.

PTL00782209 Asia Pacific Institute of Information Technology Page 197

Page 198: Mridul FYP FINAL Solution

Smart Mail

Integration is not one "big bang" at the end; instead, elements are integrated

progressively.

Iteration enables reusability.

It employs testing at each iteration. The result is a robust architecture.

It offers latitude for learning along the way.

The status of the project can be checked at the end of each iteration.

The various phases of RUP model is:

Inception Phase Elaboration phase Construction Phase Transition phase Inception phase:

This phase deals with the various research works on the proposed system. It helps in formulating the scope of the project. The core features that are to be incorporated into the system are practically identified in this phase. The targeted audience is then identified and the various tasks to be carried out is divided and scheduled. This phase also includes an initial risk assessment against the project implementation.

Elaboration phase:

The primary objective is to mitigate the key risk items identified by analysis up to the end of this phase. The elaboration phase is where the project starts to take shape. In this phase the problem domain analysis is made and the architecture of the project gets its basic form.

This also includes data gathering, analyzing and designing the proposed system. It shall contain the academic and domain research on knowledge universities and university portals. It is this phase that makes a comparative study of similar products available in the market and what add-ons can be incorporated to the current project. Once finished, the questionnaires and interview sessions with concerned users are conducted. The outcome of the research work is used for planning out the system requirement specification which will be documented. The requirement specification will be used for the later development phases of the system.

Construction phase:

The primary objective of this phase is to build the software system. The main focus here is on the development of components and other features of the system. This is the phase when the bulk of the coding takes place. In larger projects, several construction iterations may be

PTL00782209 Asia Pacific Institute of Information Technology Page 198

Page 199: Mridul FYP FINAL Solution

Smart Mail

developed in an effort to divide the use cases into manageable segments that produce demonstrable prototypes.

During the construction phase, all the individual modules are developed and finally integrated to the product and is tested. After completely implementing the system it will be tested with proper testing technique.

Transition phase:

Primary objective of transition phase is to 'transition' the system from development into production, making it available to and understood by the end user. The activities of this phase include training the end users and maintainers and beta testing the system to validate it against the end users' expectations. The product is also checked against the quality level set in the Inception phase.

If all objectives are met, the Product Release Milestone is reached and the development cycle ends.

Time Management

The project initiation began with the start of the new semester. The time available for the completion of the project is about 36 weeks. So the entire project must be divided into more detailed tasks and scheduled carefully for the development plan.

Development Plan

While the project follows the four major phases of the Spiral model, I have broken down the

overall process to some more detailed tasks for the development plan; here is a breakdown

list of the plan with its possible durations:

Start date: 3rd Augest 2010

Duration: 36 Weeks

End date: 25th April 2011

9. Project Definition

Duration: 1 week

Tasks:

Idea Generation

Project Title Selection

PTL00782209 Asia Pacific Institute of Information Technology Page 199

Page 200: Mridul FYP FINAL Solution

Smart Mail

Feasibility Studies

Abstract Draft Project Proposal

10. Project Planning

Duration: 3 weeks

Tasks:

Work Breakdown Structure

Schedule and Time Estimation

Critical Path Method

Gantt Chart

Project Proposal Form

11. Requirement Analysis

Duration: 12 weeks

Tasks:

Identify project specifications

- Project Background

- Resources required

- Techniques to be learnt

- Goals and Objectives

- Determine System Functionalities

- Identify scope of research

Project Specification Form

Investigation ad Research

- Human Computer Interaction

- Multimedia Design Principles

- Current email client applications

- User requirements

Analysis

- User Modeling and Profiling

- Domain analysis

- System analysis

PTL00782209 Asia Pacific Institute of Information Technology Page 200

Page 201: Mridul FYP FINAL Solution

Smart Mail

- Risk analysis

12. System Design

Duration: 3 weeks

Tasks:

Navigational Design

- Story Boarding

- Data flow Diagram

Abstract Interface Design

- Screen layout

- Content Design

- Interactivity Design

- Functionality Design

13. Prototyping

Duration: 10 weeks

Tasks:

Creating Prototypes

Evaluate Prototype feedbacks

14. Production and Implementation

Duration: 1week

Tasks:

Code generation

Mid point Interview

Module Integration

PTL00782209 Asia Pacific Institute of Information Technology Page 201

Page 202: Mridul FYP FINAL Solution

Smart Mail

15. Testing and Evaluation

Duration: 4

Tasks:

Prototype Evaluation

Test Plans

Unit Testing

Integration Testing

System Testing

Critical Evaluation

16. Project Ending

Duration: 2 weeks

Tasks:

Submission of the finished product

Presentation

The tasks listed above shows the overall progress and time duration for the thorough

development of this particular project, some of the task may start at a similar time with the

other tasks as they have dependencies to each other, so overlapping may occur and it will be

expected

Major Functions to be developed

When the development reaches the implementation phase, each and every module and

functions of the system will be created and integrated. One of the most important functions

to be concerned with is the one, called “accessing without login”, whereby Smart mail will be

implemented to the interface which allow interactivity. This function holds the biggest

challenge and also serves as the highlight of the whole project, making it work and perform

perfectly will certainly be one of the main concerns of the entire project. For the rest of the

system, “FAQ and Help” will be placed at the final stages of the implementation phase.

PTL00782209 Asia Pacific Institute of Information Technology Page 202

Page 203: Mridul FYP FINAL Solution

Smart Mail

The hardest tasks and its description

For all the tasks available in the development plan, the most challenging and hardest tasks

will be:

Research and Analysis – Based on the nature of this project, Drifting is one of the

major research area but it is also not an easy area to be researched on, due to its late

appearance here in Malaysia, the resources are limited.

Implementation of Smart mail – In the implementation phase, the hardest task will be

the implementation of Smart mail to the project; the major difficulty lies within the

availability of the resources needed, for example, in this system, user can access their

mail account form Smart mail.

Presentation – When a project has been submitted, a presentation will be followed up.

Presentation is considered one of the hardest tasks because it requires a high demand

of careful planning of the presentation itself and its contents. It is also not one of the

skills to be mastered easily, a lot of practice will be required and confidence is

essential.

Brief description of the evaluation and test plan for the proposed project.(i.e. what is the success criteria and how will be evaluated & implementation will be tested, indicate the estimated size of the demonstration/test database)f

Test plan and Strategies

Throughout the development of this project, testing will be done from different stages and

phases, starting from the early stage of the development, until the very end. These tests will

be carried out by prototype tests, and also final system tests.

The testing techniques that I will follow for Campus Connect are:

Black Box Testing: Testing without knowledge of the internal workings of the item

being tested. Tests are usually functional. The system or module to be tested is

considered as black box which only takes input and gives output after processing, thus

the testing solely depends on the inputs. Every input will be tested for its validation

using various black box testing techniques.

Tester: Developer

PTL00782209 Asia Pacific Institute of Information Technology Page 203

Page 204: Mridul FYP FINAL Solution

Smart Mail

White Box Testing: It is a program based testing which uses program statements. It

takes into account the internal mechanism of a system or component. It demands full

visibility of the internal workings of the software product, specifically, the logic and

the structure of the code. White box testing will be carried out for all the logically

complex modules of the project.

Tester: Developer

Compatibility Testing: Testing to ensure compatibility of an application with different

browsers, Operating Systems, and hardware platforms. Compatibility testing can be

performed manually or can be driven by an automated functional or regression test

suite. As Campus Connect would be a platform independent application I will check

its compatibility with different operationg systems. This testing will be performed

after completion of the whole system. It is expected that the system will be

compatible over the list Operating Systems mentioned in the software requirements

section.

Tester: Developer

Usability Testing: This testing strives upon the usability features like design

principles and other HCI guidelines. The system is tested to follow the designing

principles. The system is also checked for the feedback, visiblity, constratints and

other HCI guidelines.

Tester: Developer and end user together.

Functional Testing: Validating an application conforms to its specifications and

correctly performing all its required functions. This entails a series of tests which

perform a feature by feature validation of behavior, using a wide range of normal and

erroneous input data. This can involve testing of the product's user interface, APIs,

database management, security, installation, networking; etc. Testing can be

performed on an automated or manual basis using black box or white box

methodologies. In case of Campus Connect I will be testing every individual feature

of the project function by function, user interfaces and other features. Tester:

Developer

Unit Testing: Functional and reliability testing in an engineering environment.

Producing tests for the behavior of components of a product to ensure their correct

behavior prior to system integration.Unit testing will be performed to test each

module individualy.

PTL00782209 Asia Pacific Institute of Information Technology Page 204

Page 205: Mridul FYP FINAL Solution

Smart Mail

Tester: Developer

User Acceptance Testing: Testing to verify a product meets customer specified

requirements and the user accepts the system that was developed. User acceptance

testing would be done after the development of the entire project.

Tester: End User

Evaluation on Success Criteria

1. Meeting user requirements: The system should meet every requirement specified by

the user/clients in the specification to be successful.

Evaluator: End users

2. Functionality: Determines the functionality of the complete system. Each and every

function of the system shall be evaluated, such as the complete interface interactivity of the

system.

Evaluator: End users, Developer

3. Usability: Elements such as user acceptance, accessibility or friendliness, familiarity

and recoverability will be evaluated here.

Evaluator: End users

4. Level of Content: Show the amount of detailed and well presented information and

content available in the system.

Evaluator: End users

5. Project Management: The ability to manage the project in a professional and tidy

manner. Evaluator: Developer

6. Research and Analysis: A good amount of well investigated research and analysis

work is important to the success of a project.

Evaluator: Developer

7. Documentation: The ability to come up with a documentation which is very well

formatted and good English and grammars are used.

PTL00782209 Asia Pacific Institute of Information Technology Page 205

Page 206: Mridul FYP FINAL Solution

Smart Mail

Evaluator: Developer

GANTT CHART

PTL00782209 Asia Pacific Institute of Information Technology Page 206


Recommended