You are on page 1of 218

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
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
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

Table of contents
PTL00782209 Asia Pacific Institute of Information Technology
Page 3
Smart Mail

Certificate.....................................................................................2
ACKNOWLEDGEMENT.................................................................3
Introduction..................................................................................9
1.1 CONTEXT AND PRELIMINARY INVETIGATION........................10
1.1.1 Topic Background...........................................................................................10
1.1.2 Topic of the System.........................................................................................11
1.1.3 Purpose of Implementation:...............................................................................11
1.1.4 Targeted Users of the System:............................................................................12
1.1.5 Problem Context:............................................................................................12
1.1.6Rationale:......................................................................................................13
1.1.7Tangible benefits.............................................................................................14
1.1.8 Intangible Benefits:.........................................................................................14
1.1.9 Goal of System Development:............................................................................14
1.1.9.1 Project Goal:............................................................................................14
1.1.9.2 Academic Goal.........................................................................................15
1.1.10 Objectives of System Development:...................................................................15
1.1.10.1 Project Objectives:...................................................................................15
1.1.10.2 Academic Objectives................................................................................15
1.1.11 Success Criteria:...........................................................................................15
1.1.12 Scope of Proposal and Functionalities:................................................................16
1.1.12.1 Core functionality of the system:..................................................................16
1.1.12.2 Advanced functionality of the system:...........................................................16
1.1.12.3 Enhanced and special functionality of the system:.............................................16
1.1.12.2 Evidence for Limiting Scope.......................................................................17
1.1.13 Major Deliverables of the Project:......................................................................17
1.2 Test Plan:........................................................................................................18
1.3 Risk Management:.............................................................................................20

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


1.4Work Break- Down Structure:...............................................................................26
1.5 Project development:..........................................................................................26

PROBLEM DESCRIPTION............................................................31
LITERATURE REVIEW................................................................35

PTL00782209 Asia Pacific Institute of Information Technology


Page 4
Smart Mail

CONCLUSION............................................................................40
RESEARCH METHODS................................................................46
Primary Research..........................................................................46
Questionnaires...................................................................................................46

Fig 2: waterfall model..............................................................53


Fig 4: RUP model.....................................................................56
ANALYSIS................................................................................68
Chapter 6................................................................................74
Design Documents..................................................................74
Use Case Diagram:..................................................................75
Database Design....................................................................................................96
1. user_det table....................................................................................................97
Storyboarding.....................................................................................................101

ER Diagram...........................................................................106
SEQUENCE DIAGRAMS....................................................................................107
SEQUENCE DIAGRAM FOR THE LOGIN.........................................................107

Sequence Diagram1..............................................................107
Fig 5: Sequence diagram of login of Smart Mail.....................107
SEQUENCE DIAGRAM FOR THE USER REGISTRATION.....................................108

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


Class Diagram.......................................................................108
Chapter 7..............................................................................109
Implementation.....................................................................110
7.2:-IMPLEMENTATION PLAN............................................................................110
7.3:- IMPLEMENTATION OF THE MODULES.........................................................112
CONCLUSION...................................................................................................145
TECHNICAL MANUAL.......................................................................................148

Chapter 8..............................................................................150
Testing..................................................................................151
8.6:-UNIT TESTING............................................................................................154
Integration Testing...............................................................................................159

PTL00782209 Asia Pacific Institute of Information Technology


Page 5
Smart Mail

System Testing....................................................................................................161
Compatibility Testing...........................................................................................161
SECURITY TESTING..........................................................................................164
Usability and user acceptance testing.........................................................................164
Conclusion.........................................................................................................166

Chapter 9..............................................................................167
Evaluation.............................................................................168
Degree of success.................................................................168
Functionalities....................................................................................................169

Conclusion................................................................................173
What if you were asked to remake the project?.............................................................173
Learning Experience.............................................................................................173

References................................................................................175
GANTT CHART........................................................................203

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

List of Table

PTL00782209 Asia Pacific Institute of Information Technology


Page 6
Smart Mail

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
Smart Mail

Chapter 1

PTL00782209 Asia Pacific Institute of Information Technology


Page 8
Smart Mail

Introduction
Smart 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
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:

➢ 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

PTL00782209 Asia Pacific Institute of Information Technology


Page 10
Smart Mail

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
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

PTL00782209 Asia Pacific Institute of Information Technology


Page 11
Smart Mail

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.

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 12
Smart Mail

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.

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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 13
Smart Mail

1.1.7Tangible 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.

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.

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 Goal


The 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

PTL00782209 Asia Pacific Institute of Information Technology


Page 14
Smart Mail

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 Objectives


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.

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.
➢ 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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 15
Smart Mail

➢ 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.

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.
PTL00782209 Asia Pacific Institute of Information Technology
Page 16
Smart Mail

➢ 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
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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 17
Smart Mail

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,
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

PTL00782209 Asia Pacific Institute of Information Technology


Page 18
Smart Mail

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.

 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. Risk Mitigation Plan


No

PTL00782209 Asia Pacific Institute of Information Technology


Page 19
Smart Mail

1. As we know that experience Widespread secondary research is conducted on the


teaches us a lot of things. subject matter. Online help and journals were sought after
Inexperience in the subject to gain knowledge about the area.
matter can be a possible risk.

2. Unrealistic scheduling Critical issues for the project were identified and adequate
time slot was given for each such activities.

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. Risk Mitigation Plan


No
1. Some of system functionalities may not be The scope of the project was reduced.
delivered by the time of submission. The
project may not be completed on time.
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 Thorough research was conducted in
expectation. 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. Risk Mitigation Plan


No
1. The developer might fall short in learning or Proper task schedule and time
implementing the optimum knowledge or technology management should be planed.
in the project due to personal shortfalls.
PTL00782209 Asia Pacific Institute of Information Technology
Page 20
Smart Mail

2. If the developer is not able to communicate correctly Proper communication should


or there might be any misinterpretations between the be there with supervisor.
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
Occurrence % Likelihood
likelihood
0-5 Rare of the
6-15 Unlikely various
16-50 Possible risks
identified
51-75 Likely
above as
76-100 Almost Certain
shown
below:

PTL00782209 Asia Pacific Institute of Information Technology


Page 21
Smart Mail

Table 5: Risk occurrence likelihood matrix.

Figure 1: Qualitative Risk Analysis Matrix

Qualitative Risk Analysis Matrix


Consequences
Likelihood Insignificant Minor Moderate Major Severe

Almost certain M H H E E

Likely M M H H E

Possible L M M H E

Unlikely L M M M H

Rare L L M M H

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 22
Smart Mail

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 Priority


Security Rare Medium Major
Power failure Likely Major High
Personal shortfall Possible Moderate Medium
Communication failure Likely Major High
Unrealistic schedule Unlikely Moderate Medium
and budget
Loss of data storage Rare Major Medium
devices

Table 6: Risk Probability-Consequence Table

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 23
Smart Mail

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:

Risk Strategy Risk Owner


Security Prevent data loss by Developer
maintaining backups
Academic Documenting the work Developer
regularly will help in
maintaining the backup and
easier to resume the work
Power Failure Availing the power backup
facility for project,
maintaining backup of the
project.
Communication failure Formulate a proper Booth Supervisor and
communication plan supervisee together
Unrealistic scheduling Proper scheduling of project Both supervisor and
budget
Monitoring the project at supervisee together
regular interval
Loss of data storage and Maintain backup in other Developer
devices physical devices

Table 7: contingency plan for Smart mail

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 24
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:

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 25
Smart Mail

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
– 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
PTL00782209 Asia Pacific Institute of Information Technology
Page 26
Smart Mail

Duration: 10 weeks

Tasks:

• Creating Prototypes
• Evaluate Prototype feedbacks
6. Production and Implementation
Duration: 1week

Tasks:

• Code generation
• 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 27
Smart Mail

Chapter 2

PTL00782209 Asia Pacific Institute of Information Technology


Page 28
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
1. 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.
2. 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.

3. Problem: Other existing system has trouble downloading new 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
PTL00782209 Asia Pacific Institute of Information Technology
Page 29
Smart Mail

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.

4. 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.

5. 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.
6. 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.

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
PTL00782209 Asia Pacific Institute of Information Technology
Page 30
Smart Mail

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.

Chapter 3

PTL00782209 Asia Pacific Institute of Information Technology


Page 31
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
[3]
habitat . 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
[4]
for, therefore it is called overloaded . 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.htm

4[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.
[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 32
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.
• To understand and implement the concept of content management systems using
advanced .NET framework.

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 33
Smart Mail

• 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.

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,

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 34
Smart Mail

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.

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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 35
Smart Mail

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
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).

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 36
Smart Mail

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.

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 37
Smart Mail

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
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 X
User)

9 http://www.pmail.com/

10 http://en.wikipedia.org/wiki/SimpleMail

PTL00782209 Asia Pacific Institute of Information Technology


Page 38
Smart Mail

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 XP

2GB 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

Windows vista

PTL00782209 Asia Pacific Institute of Information Technology


Page 39
Smart Mail

Windows 7
Business software Office 2000, 2003, 2007, 2010

Licensing Internet connections required for all


computers
Microsoft powerpoint

Presentation
Gantt Chart Microsoft project 2003

Microsoft visio 2003/07

Diagram
Macromedia Dreamweaver 8.0

Design
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.
PTL00782209 Asia Pacific Institute of Information Technology
Page 40
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.

Chapter 4
PTL00782209 Asia Pacific Institute of Information Technology
Page 41
Smart Mail

RESEARCH METHODS

Primary Research
User 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:

Questionnaires
A 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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 42
Smart Mail

2. Are you using any current system?

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,
PTL00782209 Asia Pacific Institute of Information Technology
Page 43
Smart Mail

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?

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).

PTL00782209 Asia Pacific Institute of Information Technology


Page 44
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.

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?

PTL00782209 Asia Pacific Institute of Information Technology


Page 45
Smart Mail

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.

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
PTL00782209 Asia Pacific Institute of Information Technology
Page 46
Smart Mail

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
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

PTL00782209 Asia Pacific Institute of Information Technology


Page 47
Smart Mail

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.

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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 48
Smart Mail

➢ 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.
➢ 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


PTL00782209 Asia Pacific Institute of Information Technology
Page 49
Smart Mail

• 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
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

PTL00782209 Asia Pacific Institute of Information Technology


Page 50
Smart Mail

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
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
PTL00782209 Asia Pacific Institute of Information Technology
Page 51
Smart Mail

• Elaboration phase
• 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 52
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 53
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 54
Smart Mail

Comparison of methodologies against set criteria:

Criteria Waterfall Model Spiral Model RUP


Functional Good Good Excellent
Decomposition
UML Modeling Satisfactory Average Excellent
Manage Requirement Satisfactory Good Excellent
Changes
Risk Management Poor Good Excellent
Outcomes at each Excellent Excellent Excellent
stage
Iterative Approach Poor Average Excellent
Heavy Excellent Average Good
Documentation
Analysis & Design Excellent Excellent Excellent
Support
Implementation Average Average Excellent
Support
Testing Support Average Average Excellent
RAD Satisfactory Satisfactory Excellent
Object Oriented Satisfactory Satisfactory Excellent
Programming
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 55
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.

Selection of Programming language:

PTL00782209 Asia Pacific Institute of Information Technology


Page 56
Smart Mail

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
studio .Net IDE which offer a vast platform for developing systems which are much easier to
develop and more productive.

Consistent Programming Model:

PTL00782209 Asia Pacific Institute of Information Technology


Page 57
Smart Mail

➢ 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.

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:
PTL00782209 Asia Pacific Institute of Information Technology
Page 58
Smart Mail

➢ 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:

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 59
Smart Mail

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.
➢ 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.

12 http://en.wikipedia.org/wiki/Microsoft_Access

PTL00782209 Asia Pacific Institute of Information Technology


Page 60
Smart Mail

➢ 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.


➢ 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 61
Smart Mail

Chapter 5

PTL00782209 Asia Pacific Institute of Information Technology


Page 62
Smart Mail

ANALYSIS
In 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

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

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

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 63
Smart Mail

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.

5. Do you face any problem in current system?

Yes No

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.

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.

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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 64
Smart Mail

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

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.

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.

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

Yes. No

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
PTL00782209 Asia Pacific Institute of Information Technology
Page 65
Smart Mail

the system.

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

Yes. No

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,
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 66
Smart Mail

Use Case Diagram:

Re
g is
tra
tio
n

Login

«
u s
e s
»

«
u s
e s
»
Downloa
dd esktop
applic
ation

«
u s
e s
»

«
u s
e s
» Inbox /v
iew

«
u s
e s
»

c
o mpos
e
«
u s
e s
»

Ac
tor 1 «
u s
e s
»

Outbox /v
iew

«
u s
e s
»

«
u s
e s
»
Dra
ft /s
a v
eme
s s
age

«
u s
e s
»

Tra
s h /viewd e
leted
message
s

Addforumtopic

Vie
wforumtopic

PTL00782209 Asia Pacific Institute of Information Technology


Page 67
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 Allows registered users to download smart mail


application 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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 68
Smart Mail

Use Case Name: user registration UC ID: A1

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 69
Smart Mail

Sub use-case-User registration-Smart Mail

Registration

«uses» «extends»

login

«extends»

End
Actor1

Page 1

PTL00782209 Asia Pacific Institute of Information Technology


Page 70
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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 71
Smart Mail

Sub Use Case(s)

Sub use case -login -Smart Mail

Login
«uses»

«extends»

Home page
Actor 1

«extends»

End

Page 1

PTL00782209 Asia Pacific Institute of Information Technology


Page 72
Smart Mail

Use Case Name: Download Smart mail App UC ID: A3

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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 73
Smart Mail

Sub Use Case(s)

Sub use case -login -Smart Mail

Login
«uses» Download dektop
«extends» application
«uses»
Home page
«extends»
Actor 1
End

Page 1

PTL00782209 Asia Pacific Institute of Information Technology


Page 74
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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 75
Smart Mail

Sub Use Case(s)

User login

Use Case Name: compose mail UC ID: A5

PTL00782209 Asia Pacific Institute of Information Technology


Page 76
Smart Mail

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.

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.

Sub Use Case(s)

User login

User home page


PTL00782209 Asia Pacific Institute of Information Technology
Page 77
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)

PTL00782209 Asia Pacific Institute of Information Technology


Page 78
Smart Mail

➢ 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.

Sub Use Case(s)

User login

User home page

Outbox

PTL00782209 Asia Pacific Institute of Information Technology


Page 79
Smart Mail

View sent 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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 80
Smart Mail

Exception pathway(s)

➢ The user does not Login.

➢ The login is not possible.

➢ User can save the mail.

Sub Use Case(s)

User home page

Draft mail
User login

View delete 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 mail


Draft 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.


View delete 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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 81
Smart Mail

Exception pathway(s)

➢ User can see the deleted mail.

➢ User can successfully view deleted messages into the system.

Sub Use Case(s)

User login

User home page

Trash mail

Store the delete mail

PTL00782209 Asia Pacific Institute of Information Technology


Page 82
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 83
Smart Mail

Sub Use Case(s)

User login

User home page

Add topic

Stored in Form section

Use Case Name: View Topic UC ID: A10

PTL00782209 Asia Pacific Institute of Information Technology


Page 84
Smart Mail

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)

User login

User home page

PTL00782209 Asia Pacific Institute of Information Technology


Page 85

Add view
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:

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:

PTL00782209 Asia Pacific Institute of Information Technology


Page 86
Smart Mail

Table Structure
1. user_det table

2. usr_mail Table

3. df_topic Table

4. df_views Table

1. user_det table
Field Data Type Description Justification
Name
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 Fixed-length non-Unicode character data with
name 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 Fixed-length non-Unicode character data with
name 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 Fixed-length non-Unicode character data with
password 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 Fixed-length non-Unicode character data with
of birth 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 87
Smart Mail

U_gen Char(1) User Fixed-length non-Unicode character data with


gender 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 Fixed-length non-Unicode character data with
code 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_add Nvarchar(300) User Nvarchar stores Variable-length Unicode
address character data. Dependent on the database
collation for comparisons.
U_cno Nvarchar(50) User Nvarchar stores Variable-length Unicode
contact no 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.

3. usr_mail Table
Field Name Data Type Description Justification
M_id Int User id Storage size is 4 bytes. The SQL-92 synonym for
int is integer.
PTL00782209 Asia Pacific Institute of Information Technology
Page 88
Smart Mail

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 Nvarchar stores Unicode data. Variable-length
receiver Unicode character data. Dependent on the database
collation for comparisons.
M_sub Nvarchar(50) Mail Nvarchar stores Unicode data. Variable-length
subject 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 A day/month/year value. The DATE type does not
and time 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 Nvarchar stores Unicode data. Variable-length
attachment Unicode character data. Dependent on the database
collation for comparisons.
M_enc Char(1) Mail Fixed-length non-Unicode character data with
encryption 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_pass Nvarchar(50) Mail Nvarchar stores Unicode data. Variable-length
password 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.
PTL00782209 Asia Pacific Institute of Information Technology
Page 89
Smart Mail

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 Nvarchar stores Unicode data. Variable-
time length Unicode character data. Dependent on
the database collation for comparisons.

PTL00782209 Asia Pacific Institute of Information Technology


Page 90
Smart Mail

Storyboarding

Smart Mail

Log
o
Menu
Butt
on

Imag
e

……………………………………………
……………………………………………
……………………………………………
……………………………………………
……………………………………………
……………………………………………
……………………………………………
Conten ……………………………………………
ts

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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 91
Smart Mail

Textbox
,
Dropdo
wn list
for
input

Registration
Page

Log
Eg
o Menu
Butt
on

Imag
e

Data
Info
about
Rag.

Description: A new user must be registered to use “Smart Mail”. Here user will

PTL00782209 Asia Pacific Institute of Information Technology


Page 92
Smart Mail

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 93
Smart Mail
User Login Page

Log
o Menu
Butt
on

Imag
e

Login
Page
details

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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 94
Smart Mail

Compose Mail
Log Page
o Menu
Butt
on

Imag
Men
e
u

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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 95
Smart Mail

Access mail
account

Men
u

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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 96
Smart Mail

ER Diagram

Smart Mail
System

Has

M_rec
U_id M_send
U_fname m_id

Registered Send Mail


User

u_dob
U_pass M_sub
M_mail M_dttm

Add

dfv_id Dfv_dft_id
dft_id dft_uid

Topic Has Views

dtf_topic Dfv_dttm
dft_dttm
dfv_u_id Dfv_views

SEQUENCE DIAGRAMS
It 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.
PTL00782209 Asia Pacific Institute of Information Technology
Page 97
Smart Mail

SEQUENCE DIAGRAM FOR THE LOGIN


It 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.

Sequence Diagram1

Fig 5: Sequence diagram of login of Smart Mail

SEQUENCE DIAGRAM FOR THE USER REGISTRATION

PTL00782209 Asia Pacific Institute of Information Technology


Page 98
Smart Mail

It showcases various modules involved while completion of this module of user registration.

Fig 6: Sequence diagram of user registration

Class Diagram

PTL00782209 Asia Pacific Institute of Information Technology


Page 99
Smart Mail

Chapter 7

PTL00782209 Asia Pacific Institute of Information Technology


Page 100
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 PLAN
To 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 101
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.

7.3:- IMPLEMENTATION OF THE MODULES

PTL00782209 Asia Pacific Institute of Information Technology


Page 102
Smart Mail

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 103
Smart Mail

PTL00782209 Asia Pacific Institute of Information Technology


Page 104
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
PTL00782209 Asia Pacific Institute of Information Technology
Page 105
Smart Mail

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.

Source Code:

7.3.3:- Smart Mail Application module


Start Date: 2nd February, 2010
PTL00782209 Asia Pacific Institute of Information Technology
Page 106
Smart Mail

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.

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;

PTL00782209 Asia Pacific Institute of Information Technology


Page 107
Smart Mail

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;

PTL00782209 Asia Pacific Institute of Information Technology


Page 108
Smart Mail

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;

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

//

PTL00782209 Asia Pacific Institute of Information Technology


Page 109
Smart Mail

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>

PTL00782209 Asia Pacific Institute of Information Technology


Page 110
Smart Mail

private void InitializeComponent()

this.components = new System.ComponentModel.Container();

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();

PTL00782209 Asia Pacific Institute of Information Technology


Page 111
Smart Mail

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();

this.groupBox1.SuspendLayout();

((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).BeginInit();

PTL00782209 Asia Pacific Institute of Information Technology


Page 112
Smart Mail

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 113
Smart Mail

//

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

//

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 114
Smart Mail

//

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

//

PTL00782209 Asia Pacific Institute of Information Technology


Page 115
Smart Mail

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_Doc
umentCompleted);

//

// 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);

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

//

PTL00782209 Asia Pacific Institute of Information Technology


Page 116
Smart Mail

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);

PTL00782209 Asia Pacific Institute of Information Technology


Page 117
Smart Mail

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

//

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 :";

//

PTL00782209 Asia Pacific Institute of Information Technology


Page 118
Smart Mail

// 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;

PTL00782209 Asia Pacific Institute of Information Technology


Page 119
Smart Mail

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";

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;

PTL00782209 Asia Pacific Institute of Information Technology


Page 120
Smart Mail

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";

//

// groupBox1

//

PTL00782209 Asia Pacific Institute of Information Technology


Page 121
Smart Mail

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

//

PTL00782209 Asia Pacific Institute of Information Technology


Page 122
Smart Mail

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


checked, the emails " +

"on the server will be deleted !";

//

// pgBar

//

this.pgBar.Location = new System.Drawing.Point(6, 261);

this.pgBar.Name = "pgBar";

PTL00782209 Asia Pacific Institute of Information Technology


Page 123
Smart Mail

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;

PTL00782209 Asia Pacific Institute of Information Technology


Page 124
Smart Mail

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;

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;

PTL00782209 Asia Pacific Institute of Information Technology


Page 125
Smart Mail

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";

PTL00782209 Asia Pacific Institute of Information Technology


Page 126
Smart Mail

//

// 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

//

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

//

PTL00782209 Asia Pacific Institute of Information Technology


Page 127
Smart Mail

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);

PTL00782209 Asia Pacific Institute of Information Technology


Page 128
Smart Mail

this.lblmsg.Name = "lblmsg";

this.lblmsg.Size = new System.Drawing.Size(0, 17);

this.lblmsg.TabIndex = 9;

//

// 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);

PTL00782209 Asia Pacific Institute of Information Technology


Page 129
Smart Mail

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;

Application.DoEvents();

PTL00782209 Asia Pacific Institute of Information Technology


Page 130
Smart Mail

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)

PTL00782209 Asia Pacific Institute of Information Technology


Page 131
Smart Mail

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;

return false;

//remove the local uidl which is not existed on the server.

private void _SyncUIDL(MailServer oServer, MailInfo[] infos)

PTL00782209 Asia Pacific Institute of Information Technology


Page 132
Smart Mail

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;

PTL00782209 Asia Pacific Institute of Information Technology


Page 133
Smart Mail

} 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;

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()

PTL00782209 Asia Pacific Institute of Information Technology


Page 134
Smart Mail

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;

PTL00782209 Asia Pacific Institute of Information Technology


Page 135
Smart Mail

private void _LoadUIDL()

m_arUidl.Clear();

string file = String.Format("{0}\\{1}", m_curpath, m_uidlfile);

StreamReader read = null;

try

read = File.OpenText(file);

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()

PTL00782209 Asia Pacific Institute of Information Technology


Page 136
Smart Mail

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);

PTL00782209 Asia Pacific Institute of Information Technology


Page 137
Smart Mail

int pos = fullname.LastIndexOf(".");

string mainName = fullname.Substring(0, pos);

string htmlName = mainName + ".htm";

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
PTL00782209 Asia Pacific Institute of Information Technology
Page 138
Smart Mail

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)

try

PTL00782209 Asia Pacific Institute of Information Technology


Page 139
Smart Mail

//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_STOR
E_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++)

PTL00782209 Asia Pacific Institute of Information Technology


Page 140
Smart Mail

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()));

if (i < count - 1)

hdr.Append(";");

hdr.Append("<br>");

PTL00782209 Asia Pacific Institute of Information Technology


Page 141
Smart Mail

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;

PTL00782209 Asia Pacific Institute of Information Technology


Page 142
Smart Mail

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);

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);

PTL00782209 Asia Pacific Institute of Information Technology


Page 143
Smart Mail

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";

PTL00782209 Asia Pacific Institute of Information Technology


Page 144
Smart Mail

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;

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");

PTL00782209 Asia Pacific Institute of Information Technology


Page 145
Smart Mail

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)

PTL00782209 Asia Pacific Institute of Information Technology


Page 146
Smart Mail

return;

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";

PTL00782209 Asia Pacific Institute of Information Technology


Page 147
Smart Mail

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");

#region IComparer Members

// sort the email as received data.

public int Compare(object x, object y)

PTL00782209 Asia Pacific Institute of Information Technology


Page 148
Smart Mail

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();

PTL00782209 Asia Pacific Institute of Information Technology


Page 149
Smart Mail

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;

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 150
Smart Mail

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);

PTL00782209 Asia Pacific Institute of Information Technology


Page 151
Smart Mail

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++)

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,


PTL00782209 Asia Pacific Institute of Information Technology
Page 152
Smart Mail

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,

PTL00782209 Asia Pacific Institute of Information Technology


Page 153
Smart Mail

// Quit method pure the emails from server exactly.

oClient.Quit();

catch (Exception ep)

MessageBox.Show(ep.Message);

//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)

PTL00782209 Asia Pacific Institute of Information Technology


Page 154
Smart Mail

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 155
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)

PTL00782209 Asia Pacific Institute of Information Technology


Page 156
Smart Mail

try

int port_no = Convert.ToInt16(sport_no );

string mailfrom = "rkswproject@gmail.com"; //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",


System.Text.Encoding.UTF8);

mail.Subject = txt_subject.Text;

mail.SubjectEncoding = System.Text.Encoding.UTF8;

mail.Body = txt_message.Text;

PTL00782209 Asia Pacific Institute of Information Technology


Page 157
Smart Mail

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)

PTL00782209 Asia Pacific Institute of Information Technology


Page 158
Smart Mail

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);

catch (Exception ex)

Exception ex2 = ex;

string errorMessage = string.Empty;

while (ex2 != null)

errorMessage += ex2.ToString();

ex2 = ex2.InnerException;

lblmsg.Text = "Error....................";

PTL00782209 Asia Pacific Institute of Information Technology


Page 159
Smart Mail

MessageBox.Show(errorMessage);

} // end try

catch (System.ArgumentException ag)

MessageBox.Show("Plz Enter the Argument ");

private void webMail_DocumentCompleted(object sender,


WebBrowserDocumentCompletedEventArgs e)

CONCLUSION
The 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 160
Smart Mail

USER MANUAL
Login page

Enter User name and


password

Click to sign in

Click to retrieve
password
New User
registration

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

Download smart mail


desktop application

Click to Log out

Download application
window

Mail menu

Change password

This is the home page of the user. Here user will get the smart mail desktop application for
download.

Smart mail Desktop Application: Setting page


PTL00782209 Asia Pacific Institute of Information Technology
Page 161
Smart Mail

Server
settings

User name

User
Password
Authentication type
and protocol setting

Start downloading
mail or cancel

Here user has to configure his mail server setting for access the mails from multiple accounts
such as Gmail, Hotmail etc.

Access Mail

Read mail

Delete mail

Show the mail

Here user will be able to see the mail as well as they can delete non important mails as per
their requirement.

Send mail

PTL00782209 Asia Pacific Institute of Information Technology


Page 162
Smart Mail

Send mail

Send to/
Recipient id

Subject of the
mail

Body of the
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

STEP-3:

In the Open Project prompt, choose the path of the destination folder where the
system is stored and click Open.
PTL00782209 Asia Pacific Institute of Information Technology
Page 163
Smart Mail

STEP-4: After opening the project, execute the project.

PTL00782209 Asia Pacific Institute of Information Technology


Page 164
Smart Mail

Chapter 8

PTL00782209 Asia Pacific Institute of Information Technology


Page 165
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

SL Testing Method Application Area

PTL00782209 Asia Pacific Institute of Information Technology


Page 166
Smart Mail

No

1 . Unit Testing In unit testing all the individual units of the system Functionality.
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.

2. Integration The individual units are tested for proper functioning Functionality
Testing of the system.

3 GUI Testing It provides with the heuristics for the proposed system HCIU
user interface.

4 Compatibility To make sure that the system is capable to work in Compatibility


System different OS.

5 User To make sure that the system developed is able to User


Acceptance deliver its stated objectives to the user. Acceptance

Testing

PTL00782209 Asia Pacific Institute of Information Technology


Page 167
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 Acceptance 11th April 2011 15th April 2011

Testing

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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 168
Smart Mail

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.

8.6:-UNIT TESTING
Unit 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
PTL00782209 Asia Pacific Institute of Information Technology
Page 169
Smart Mail

Start date: 15th march 2011 End Date: 25th march 2011

PTL00782209 Asia Pacific Institute of Information Technology


Page 170
Smart Mail

PTL00782209 Asia Pacific Institute of Information Technology


Page 171
Smart Mail

2 5
Yes

3 4

6 No 7

yes
Yes
Yes
8 No 9 10

Yes
Yes

11

12 Yes

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 172
Smart Mail

Module 1: Login and Authentication

Table 11: Unit testing for login panel


Project 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 Login successful, Login Login is
data redirect to user successful, no working
Home page redirection properly

Login panel Authentication Login successful, Login Authentication


type redirect to next page successful, check is
based on redirected to working
authentication correct properly
authenticated
page
Page session Check if a Redirect to user Page redirected Page session
authentication page requiring home page based
authentication 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 173
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 Test Method Expected Actual Result Remarks


Subject Result
Inbox Check mail Display list of List of mail Link updated, working
all the displayed. successfully
existing mail
with mail
summary
page
Compose Check mail Mail has been Folder checked, The module is running
mail for send to the process stopped, successfully
composed sender displayed error
correctly. message
Draft Check mail mail has to Process stopped, The module is running
which is save in draft displayed error successfully
already save message

Trash Check mail Mail is save No folder created, Modify code to check for write
mail which in the trash error due to write permission.
deleted folder permission
already
Delete Check mail Mail has to Not all Session Update the code to create all the
mail has delete. delete. variables are session variables and check for
created all variables otherwise display
error. Problem solved

PTL00782209 Asia Pacific Institute of Information Technology


Page 174
Smart Mail

Integration Testing
As 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:

Table 13: ASP.Net Integration test


Integrated Smart
Test Subject MailTest Method Expected Result Actual Result Remarks
Connectivity Click on the link Navigate to the Navigates to the Successful
using ‘next ‘next step’ on next page next page navigation
step’ link on each page to maintaining the
each page check navigation session
Connectivity Check if the main Main menu All links were Successful
using main menu links links navigate to working navigation
menu navigate to the the appropriate properly
proper sections page.
Update project Checks if the Update the Only the project Need to append
status project status is project status in database was the code to
updated each time database as well update session
PTL00782209 Asia Pacific Institute of Information Technology
Page 175
Smart Mail

the page is as session. updated. value as well.


navigated
Successful in 2nd
iteration.

Finally the fully integrated Smart Mail is tested for integration testing.

Table14: Integration Test


Test Subject Test Method Expected Result Actual Result Remarks
Connectivity Check if proper Appropriate Appropriate Connectivity
between pages are code is used for code are used between
ASP.NET, C# displayed, display everywhere ASP.NET and
and SQL server selected, copied SQL Server is
using .aspx pages appropriate.
Test run of the Check overall No problems The system Test satisfactory
complete integrity of the occur from follows the
system* system projects creation complete path
to publishing of
system

System Testing

Table 15: System testing


Test Subject Test Method Expected Result Actual Result Remarks
Check general Test the output of All the data The system Successful test.
system working the system based inputted is publishes the
with trial on given input published in the appropriate
data(perform data. output file output files
black box based on the based on user’s
testing) data type choice and input
associated data.

PTL00782209 Asia Pacific Institute of Information Technology


Page 176
Smart Mail

Low end system Test the system’s The system The ASP.NET The system as
test performance on a should work processing took projected earlier
low configuration fine except few time than gave below
system (the performance normal average
configuration is issues like slow processing performance.
compatible with processing, low
minimum system quality of
requirement) output.

Compatibility Testing
The 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:

Table 16: Compatibility test OS details


Operating System System details
Microsoft Windows 98, 2000 Owner: Mr. Sasanka Bhuyan(peer student)

Configuration: Intel P4 processor, 512MB RAM

Server:
Microsoft Vista Owner: Mr. Mridul Kr. Boruah

Configuration: Intel core 2duo processor, 2GB RAM

Server:
Ubuntu 6.04 Owner: Mr. Simanta Chakrabarty(peer student)

PTL00782209 Asia Pacific Institute of Information Technology


Page 177
Smart Mail

Configuration: Intel P4 processor, 512MB RAM

Server:
Apple Mac OS X Owner: Mr. Mohan Chetry (Peer student)

Configuration: Intel Core Duo processor, 1GB RAM

Server :

Table 17: Compatibility test for OS


Test Test Method Expected Result Actual Result Remarks
Subjec
t
Micros Deployment of Suitable deployment, System deployed and More than
oft the system, black appropriate output on Passed black box expected result.
Windo
ws 98, box testing black box testing, testing with above Test successful.
2000 average performance average performance

Micros Deployment of Suitable deployment, System deployed and Test case


oft the system, black appropriate output on Passed black box successful
Vista
box testing black box testing, Best testing with best
performance performance
Ubunt Deployment of Suitable deployment, System deployed and Test successful
u 6.04 the system, black appropriate output on Passed black box
box testing black box testing, testing with best
above average performance
performance
Apple Deployment of Suitable deployment, System deployed The code was
Mac the system, black appropriate output on with minor tweaks reconsidered
OS X
box testing black box testing, that hindered and rectified.
above average performance. Passed Performance
performance black box testing increased in 2nd
with average iteration.
performance.

Compatibility testing for web browsers is as shown below:


PTL00782209 Asia Pacific Institute of Information Technology
Page 178
Smart Mail

Table 18: Compatibility testing for web browsers


Test Test Method Expected Result Actual Result Remarks
Subject
Internet Check visibility, Correct positioning, The text size Proper output in the
Explorer absolute positioning, size and scrolling of larger than 2nd iteration. Test case
6.0
scroll property & other divisions. expected. passed.
HCI interface Appropriate font
guidelines size.
Mozilla Check visibility, Correct positioning, Web pages Test case passed.
Firefox absolute positioning, size and scrolling of appears
2.0
scroll property & other divisions. exactly as
HCI interface Appropriate font. expected by
guidelines the developer
Google Check visibility, Correct positioning, Web pages Better result than
Chrome absolute positioning, size and scrolling of appear larger expected.
scroll property & other divisions. and more
HCI interface Appropriate font attractive.
guidelines size.
Apple Check visibility, Correct positioning, The layout of Pass test case.
Safari absolute positioning, size and scrolling of the system
3.2.2
scroll property & other divisions. appears
HCI interface Appropriate font. smaller but no
guidelines problem with
the look and
usability
issues.
Opera 8.5 Check visibility, Correct positioning, Web pages Test case successful.
absolute positioning, size and scrolling of appears
scroll property & other divisions. exactly as
HCI interface Appropriate font expected by
guidelines size. the developer

PTL00782209 Asia Pacific Institute of Information Technology


Page 179
Smart Mail

SECURITY TESTING
Smart 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 only a registered user can login to Test Pass (No Action)
anyone using the system? the system

Does any user can access all The authentication of the user and Test Pass (No Action)
the feature of the system? 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.

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


Test Name Test Case Number UA-1
Conducted By Mohan Chetry

Sasanka Pritom Bhuyan

PTL00782209 Asia Pacific Institute of Information Technology


Page 180
Smart Mail

Manash Jyoti Deuri

Simanta Chakrabarty
Description Will mainly test the user acceptance of the system

Name of the Tester/ Functionalities of the System


Experience percentage User able to login User are Able to use Check
to the system redirected to his desktop Results
proper account application
with its roles
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 Mohan Chetry 20th April 2011
Test release 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 181
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 182
Smart Mail

Chapter 9

PTL00782209 Asia Pacific Institute of Information Technology


Page 183
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 184
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 evaluation


Evaluation 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.

Functionalities
Table 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 √

PTL00782209 Asia Pacific Institute of Information Technology


Page 185
Smart Mail

facility.

Smart Mail offline application provides to the facility to the √


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 Evaluation


Evaluation 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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 186
Smart Mail

Project Management

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 Evaluation


Evaluation Parameters Checklist
Primary Research:
Questionnaire survey √

Secondary Research:
Domain research √

Research on tools required √

Research on Implementing HCI √

Research on technologies involved √

Research on competitive software’s √

Analysis
Analysis of Questionnaire √

Risk Analysis √
PTL00782209 Asia Pacific Institute of Information Technology
Page 187
Smart Mail

Analysis of tools & technologies to be used √

Documentation

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 188
Smart Mail

Conclusion
The 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.
○ Able to write better OOP code, and reuse that code in other programs. gain
proficiency in programming more complex applications,
○ Design patterns actually make programming easier.
○ Design patterns not only provide solutions for common challenges, but also
focus on maintenance and change.

Learning Experience
The 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.
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.
PTL00782209 Asia Pacific Institute of Information Technology
Page 189
Smart Mail

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.

References
Books:
PTL00782209 Asia Pacific Institute of Information Technology
Page 190
Smart Mail

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 191
Smart Mail

APPENDICES

PPF
Smart Mail

Please describe the type of the system being developed?

PTL00782209 Asia Pacific Institute of Information Technology


Page 192
Smart Mail

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.

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
PTL00782209 Asia Pacific Institute of Information Technology
Page 193
Smart Mail

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 >>>>>>>>>>>>>>>

PSF
SMART MAIL A WEBMAIL

Your data is secure, you are secure

PTL00782209 Asia Pacific Institute of Information Technology


Page 194
Smart Mail

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.

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,

PTL00782209 Asia Pacific Institute of Information Technology


Page 195
Smart Mail

(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.

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:

PTL00782209 Asia Pacific Institute of Information Technology


Page 196
Smart Mail

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.

○ 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.
➢ 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

➢ 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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 197
Smart Mail

➢ 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.

➢ Problem: Other existing system has trouble downloading new 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.

➢ 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.

➢ 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.
➢ 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:

PTL00782209 Asia Pacific Institute of Information Technology


Page 198
Smart Mail

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.

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 199
Smart Mail

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

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 200
Smart Mail

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:

➢ 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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 201
Smart Mail

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.

 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

PTL00782209 Asia Pacific Institute of Information Technology


Page 202
Smart Mail

Ram 512 MB DDR-Win XP

2GB 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

Windows vista

Windows 7
Business software Office 2000, 2003, 2007, 2010

Licensing Internet connections required for all


computers
Microsoft powerpoint

Presentation
Gantt Chart Microsoft project 2003

Microsoft visio 2003/07

PTL00782209 Asia Pacific Institute of Information Technology


Page 203
Smart Mail

Diagram
Macromedia Dreamweaver 8.0

Design
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.

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:

PTL00782209 Asia Pacific Institute of Information Technology


Page 204
Smart Mail

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
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,
PTL00782209 Asia Pacific Institute of Information Technology
Page 205
Smart Mail

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.
• 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
PTL00782209 Asia Pacific Institute of Information Technology
Page 206
Smart Mail

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:

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:

PTL00782209 Asia Pacific Institute of Information Technology


Page 207
Smart Mail

• 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
• 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.
PTL00782209 Asia Pacific Institute of Information Technology
Page 208
Smart Mail

➢ 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,
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.

PTL00782209 Asia Pacific Institute of Information Technology


Page 209
Smart Mail

➢ 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.

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
PTL00782209 Asia Pacific Institute of Information Technology
Page 210
Smart Mail

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
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

1. Project Definition
PTL00782209 Asia Pacific Institute of Information Technology
Page 211
Smart Mail

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
• Investigation ad Research
– Human Computer Interaction
– Multimedia Design Principles
– Current email client applications
PTL00782209 Asia Pacific Institute of Information Technology
Page 212
Smart Mail

– 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 213
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

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
PTL00782209 Asia Pacific Institute of Information Technology
Page 214
Smart Mail

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.

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 215
Smart Mail

the testing solely depends on the inputs. Every input will be tested for its validation
using various black box testing techniques.
Tester: Developer
• 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

PTL00782209 Asia Pacific Institute of Information Technology


Page 216
Smart Mail

behavior prior to system integration.Unit testing will be performed to test each


module individualy.

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

PTL00782209 Asia Pacific Institute of Information Technology


Page 217
Smart Mail

7. Documentation: The ability to come up with a documentation which is very well


formatted and good English and grammars are used.

Evaluator: Developer

GANTT CHART

PTL00782209 Asia Pacific Institute of Information Technology


Page 218

You might also like