Sei sulla pagina 1di 54

Web Based Messaging & Tools

Developed & Designed by: Naresh Mallya Siya Sardesai Bablukumar Singh

TITLE PAGE
GAGS Web based Messaging & Tools
By, Naresh Mallya Siya Sardesai Bablukumar Singh

T.Y.B.Sc.
(Computer Science) 2009-2010 Under the guidance of Mr. Govind Kelkar Government College of Arts, Science & Commerce Khandola, Marcela Goa.

Certificate
This is to certify that the project entitled

GAGS WEB BASED MESSAGING & TOOLS


which is a Web based mail client software, to send and receive emails with other features is completed by the candidate themselves during the period of study under my guidance & they have worked sincerely & developed an efficient and a reliable system.

__________________________

____________________________

Mr. Govind Kelkar


Project Guide

Mrs. Sujata Gaonkar


Head of Department (Computer Science)

__________________________

____________________________ External Examiner

Dr. Seema Rath


Principal

DECLARATION
We declare that this Project Report entitled

GAGS Web based Messaging & Tools


has been composed by us and it has not previously formed the basis for the award of any Diploma or other similar titles Class

T.Y. B.Sc.
(Computer Science) NAME Naresh Mallya Siya Sardesai Bablukumar Singh ROLL NO. 390 396 398 SIGN

Acknowledgement
Expressing acknowledgement is quite a difficult task and it is impossible to do justice to all. First of all, we would like to thank the almighty without whom nothing is possible. We would like to express our deep sense of gratitude to our project guide Mr. Govind Kelkar for his constant support, concern and invaluable guidance without which this project would have been impossible We would also like to express our gratitude towards Ms. Sujata Gaonkar (Head of Department), Ms. Anita Raicar and Ms. Gracy Fernandes (Lecturers) for all that they have done to us in whatever way possible. Our heartfelt thanks also to our officiating principal Mrs. Seema Rath for letting us use the laboratory to our advantage. We are thankful to our Lab Attendant Mr. Mario Gonsalves, our lab assistant Mr. Tulshidas Kunkalekar for allowing us to use the laboratory even after college hours & during holidays thus allowing us to complete the project work on time. We whole-heartedly express our gratitude towards our family members for being there for us at all time & patiently supporting & encouraging us during the course of our project. A number of people have been generous enough to help us out in times of Need. We would like to thank them too.

INDEX

Introduction to E-mail 1 Problem Definition 2 Proposed System 3

Introduction to softwares used

HTML JavaScript Java Java Server Pages MySql Server Netbeans Apache Tomcat Apache JAMES Server JavaMail API

System requirements System Configuration Installing & Configuring JAMES mail Server Installing JAVAMail Software Implementation Design General Block Diagram Architecture Diagram Tree Diagram Table Diagram

User Manual

Limitations & Enhancements Reference

Introduction

E-MAIL
About E-mail:
The conventional mailing by post can take several days to travel across the country and weeks to go around the world. That is why nowadays it is referred to as snail mail. In recent times, email or electronic mail is being used to send receive messages. It saves time & money, is fast, easy to use & less expensive than post. You can send email practically to anyone with an e-mail address, anywhere in the world. So what is email? In its simplest form, email is an electronic message sent from one computer to another. You can send or receive personal & business-related messages with attachments like pictures or other documents. Just as a letter or document stops at different postal stations along its way, email is passed from one computer to another as it travels along the network. Each computer reads the email address & routes it to another computer until it eventually reaches its destination. It is then stored in an electronic mailbox. With the Internet, this whole process usually takes a few minutes, allowing you to communicate quickly & easily with millions of people around the world anytime of the day or night, for the cost of a local phone call. Until recently, email on the Internet was good only for short notes. You couldnt send attachments like formatted documents or graphics. With the advent of MIME (Multipurpose Internet Mail Extension) & other types of encoding schemes, like Uuencode, not only can you send formatted documents, photos, sounds files, & video files as attachments.

E-mail Messages:
Email messages are a lot like letters. There are two main parts: header & body. The header contains your name & address & the name & the address of the person its being to sent to, the name & address of anyone who is being copied, the date of the message & what the message is about (subject). Just like with regular mail you need the correct address. If you use a wrong address or mistype it, your message will get bounced back to you. When you receive an email form someone, the header tells you where it came from, what is it about, how it was sent, & when. It acts like an electronic postmark.

Problem Definition
Nowadays, Email is a very important source of communication, through which we can send electronic messages from one computer to another. Even if it is at a very far distance. The only requirement you need to be close is a Computer and an internet connection. The email system generally consists of a client side and server side. The client is usually a browser and the server side is a web server with the application. For a web based mail client, the user should be able to send and receive personal and business related messages with attachments like pictures, sound files or other documents. He/She should be able to organize messages in different folders. He/She can maintain the contact list. He/She can save the mail as draft. He/She can delete the checked mails. He/She should be able to download the attachments. We can also provide some additional features such as an online calculator, chat facility etc. Our aim in this project is to create an email client that can incorporate all these facilities & tools.

Proposed System
The users may require to send data as text messages, in ASCII format, or as audio & video clips. The users might also want to attach file or documents along with the message. The user requires to delete checked mails. The users should be able to use this system in a network, that is, send data over the Intranet or to geographically distant locations by means of the Internet. User might also want to use other facilities such as chat, calculator, astrology, etc.

Once the user is authenticated then he/she has the option to view the mail received, receive & download attachments, compose & send mails along with attachments. These attachments can be in the form of executable files, pictures, audio & video files or simple text files. The users can delete checked mails from their inbox . The user is also provided facility to delete all mails. The user can change details of their account, such as password to the account, which was previously entered at the time of registration. The users may require to carry out a quick calculation, hence for convenience the users have to be provided with an online calculator.

Introduction to Softwares used

HTML
Introduction to HTML:
HTML, which stands for Hyper Text Markup Language, is the predominant markup language for web pages. It provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists etc as well as for links, quotes, and other items. It allows images and objects to be embedded and can be used to create interactive forms. It is written in the form of HTML elements consisting of "tags" surrounded by angle brackets within the web page content. It can include or can load scripts in languages such as JavaScript which affect the behavior of HTML processors like Web browsers; and Cascading Style Sheets (CSS) to define the appearance and layout of text and other material. The W3C, maintainer of both HTML and CSS standards, encourages the use of CSS over explicit presentational markup. It is the encoding scheme used to create and format a Web document. A user need not be an expert programmer to make use of HTML to create hypertext documents that can put on the internet.

Importance of HTML:
HTML can be used to display any type of document on the host computer, which can be geographically at a different location. It is a versatile language & can be used on any platform or desktop. Being platform independent, HTML indicates the manner in which the document is to be read by the interpreter. This can be done by a set of HTML elements, which mark-up the document & inform the browser, like the internet explorer, about the action to be taken when a certain element specified. The appearance of a web page is important, & HTML provides tag to make the documents look attractive. Using graphics, fonts, different sizes, color, etc. can enhance the presentation of the document. This language allows the creation of hypertext links, also known as hyperlinks, to other documents or some portions of the same document. There is no limit to the kind & type of information that can be disseminated through the web pages by using the versatile language.

JAVASCRIPT
Introduction:
JavaScript is an object-oriented scripting language used to enable programmatic access to objects within both the client application and other applications. It is primarily used in the form of client-side JavaScript, implemented as an integrated component of the web browser, allowing the development of enhanced user interfaces and dynamic websites. JavaScript is a dialect of the ECMAScript standard and is characterized as a dynamic, weakly typed, prototype-based language with first-class functions. JavaScript was influenced by many languages and was designed to look like Java, but to be easier for non-programmers to work with.

Use in Web pages:


The primary use of JavaScript is to write functions that are embedded in or included from HTML pages and interact with the Document Object Model (DOM) of the page. Some simple examples of this usage are: Opening or popping up a new window with programmatic control over the size, position, and attributes of the new window (e.g. whether the menus, toolbars, etc. are visible). Validation of web form input values to make sure that they will be accepted before they are submitted to the server. Changing images as the mouse cursor moves over them: This effect is often used to draw the user's attention to important links displayed as graphical elements. Because JavaScript code can run locally in a user's browser (rather than on a remote server) it can respond to user actions quickly, making an application feel more responsive. Furthermore, JavaScript code can detect user actions which HTML alone cannot, such as individual keystrokes. Applications such as Gmail take advantage of this: much of the user-interface logic is written in JavaScript, and JavaScript dispatches requests for information (such as the content of an e-mail message) to the server. A web browser is by far the most common host environment for JavaScript. Web browsers typically use the public API to create "host objects" responsible for reflecting the DOM into JavaScript. A JavaScript webserver would expose host objects representing an HTTP request and response objects, which a JavaScript program could then manipulate to dynamically generate web pages.

JAVA
Introduction:
Java is a powerful programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode (class file) that can run on any Java Virtual Machine (JVM) regardless of computer architecture. Java is general-purpose, concurrent, class-based, and object-oriented, and is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere".

Java Platform:
One characteristic of Java is portability, which means that computer programs written in the Java language must run similarly on any supported hardware/operating-system platform. This is achieved by compiling the Java language code to an intermediate representation called Java bytecode, instead of directly to platform-specific machine code. Java bytecode instructions are analogous to machine code, but are intended to be interpreted by a virtual machine (VM) written specifically for the host hardware. End-users commonly use a Java Runtime Environment (JRE) installed on their own machine for standalone Java applications, or in a Web browser for Java applets. The Java applet API is a framework that allows Java-enabled Web browsers to manage and display embedded Java applications within.

Syntax:
The syntax of Java is largely derived from C++. Unlike C++, which combines the syntax for structured, generic, and object-oriented programming, Java was built almost exclusively as an object oriented language. All code is written inside a class and everything is an object, with the exception of the intrinsic data types (ordinal and real numbers, Boolean values, and characters), which are not classes for performance reasons.

Java server pages (jsp)


What is JSP?
Java Server Pages (JSPs) are server-side Java EE components that generate responses, typically HTML pages, to HTTP requests from clients. A JSP Page is a text document that contains two types of text: static data, which can be expressed in any text-based format (such as HTML, SVG, WML, and XML), and JSP elements, which construct dynamic content. JSPs embed Java code in an HTML page by using the special delimiters <% and %>. A JSP is compiled to a Java servlet, a Java application in its own right, the first time it is accessed. After that, the generated servlet creates the response. The following code contains a simple example of a JSP file: <HTML> <BODY> <% out.println("HELLO JSP WORLD"); %> </BODY> </HTML>

The Components of a JSP


The components that make up Java Server Pages are discussed below: Directives
Directives are JSP elements that provide global information about an entire JSP page. An example would be a directive that indicated the language to be used in compiling a JSP page. The syntax of a directive is as follows: <%@ directive {attribute="value"} %> This states that, for this page directive, assign these values for these attributes. A directive can contain n number of optional attribute/value pairs.

Actions
Actions provide an abstraction that can be used to easily encapsulate common tasks. They typically create or act on objects, normally JavaBeans. The JSP technology provides some standard actions.

JSP Scripting
JSP scripting is a mechanism for embedding code fragments directly into an HTML page. There are three scripting language elements involved in JSP scripting. Each of these JSP scripting elements has its appropriate location in the generated servlet. The JSP Scripting elements are explained as below.

Declarations : JSP declarations are used to declare variables and methods in the scripting language used in a JSP page. A JSP declaration should be a complete declarative statement. The syntax for a JSP declaration is as follows: <%! declaration %> A sample variable declaration using this syntax is declared here: <%! String name = new String("GAGS"); %> A sample method declaration using the same syntax is declared as follows: <%! public String getName() { return name; } %> Expressions: JSP expressions are elements in a scripting language that are evaluated with the result being converted to a java.lang.String. After the string is converted, it is written to the current out JspWriter object. JSP expressions are evaluated at HTTP request-time, with the resulting String being inserted at the expression's referenced position in the .jsp file. If the resulting expression cannot be converted to a String, then a translation time error will occur. If the conversion to a String cannot be detected during translation, a ClassCastException will be thrown at request-time. The syntax of a JSP expression is as follows: <%= expression %> A code snippet containing a JSP expression is shown here: Hello <B><%= getName() %></B>

Scriptlets: Scriptlets are what bring all the scripting elements together. They can contain any coding statements that are valid for the language referenced in the language directive. They are executed at request-time and they can make use of declarations, expressions, and JavaBeans. The syntax for a scriptlet is as follows: <% scriptlet source %> During the initial request the JSP scripting code is converted to servlet code and then compiled and loaded into resident memory. The actual source code, which is found between scriptlet tags <% ... %>, is placed into the newly created servlet's _jspService() method.

What Is a Servlet?
A servlet is a Java programming language class that is used to extend the capabilities of servers that host applications access via a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by web servers. For such applications, Java Servlet technology defines HTTP-specific servlet classes. The javax.servlet and javax.servlet.http packages provide interfaces and classes for writing servlets. All servlets must implement the Servlet interface, which defines life-cycle methods.

MYSQL SERVER
What is MySQL?
MySQL, the most popular Open Source SQL database management system, is developed, distributed & supported by MySQL AB. MySQL AB is a commercial company, founded by the MySQL developers. It is a second generation Open Source company that unites Open Source values & methodology with a successful business model.
MySQL is a database management system. A database is a structured collection of data. To add, access, & process data stored in a computer database, you need a database management system such as MySQL Server. Since computers are very good at handling large amounts of data, database management systems play a central role in computing, as standalone utilities, or as parts of other applications.

MySQL is a relational database management system. A relational database stores data in separate tables rather than putting all the data in one big storeroom. This adds speed & flexibility. The SQL part of MySQL stands for Structured Query Language. SQL is the most common standardized language used to access databases & is defined by the ANSI/ISO SQL Standard. The SQL standard has been evolving since 1986 & several versions exist.

MySQL Server works in client/server or embedded systems. The MySQL Database Software is a client/server system that consists of a multithreaded SQL server that supports different backends, several different client programs & libraries, administrative tools, & a wide range of application programming interfaces(APIs).

MySQL QUERY BROWSER


The MySQL Query Browser is a graphical tool provided by MySQL for creating, executing & optimizing queries in a graphical environment. The MySQL Query Browser is designed to help you & analyze data stored within your MySQL Database. While all queries exceuted in the MySQL Browser could also be performed in the MySQL command-line utility, the MySQL Browser allows for quering & editing of data in a more initiative graphical manner.

Netbeans ide 6.7


The NetBeans IDE is an open-source integrated development environment. NetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment (IDE) for developing with Java, JavaScript, PHP, Python, Ruby, Groovy, C, C++, Scala and Clojure. The NetBeans IDE is written in Java and runs everywhere where a JVM is installed, including Windows, Mac OS, Linux, and Solaris. A JDK is required for Java development functionality, but is not required for development in other programming languages. NetBeans IDE supports development of all Java application types (Java SE including JavaFX, (Java ME, web, EJB and mobile applications) out of the box. The NetBeans Platform allows applications to be developed from a set of modular software components called modules. Applications based on the NetBeans platform (including the NetBeans IDE) can be extended by third party developers.

APACHE TOMCAT
Apache Tomcat (or Jakarta Tomcat or simply Tomcat) is an open source servlet container developed by the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems, and provides a "pure Java" HTTP web server environment for Java code to run. Tomcat should not be confused with the Apache web server, which is a C implementation of an HTTP web server; these two web servers are not bundled together. Apache Tomcat includes tools for configuration and management, but can also be configured by editing XML . We are using Apache Tomcat that is integrated with NetBeans 6.7 Components of Tomcat includes. Catalina Catalina is Tomcat's servlet container. Catalina implements Sun Microsystems' specifications for servlet and JavaServer Pages (JSP). The architect for Catalina was Craig McClanahan. Coyote Coyote is Tomcat's HTTP Connector component that supports the HTTP 1.1 protocol for the web server or application container. Coyote listens for incoming connections on a specific TCP port on the server and forwards the request to the Tomcat Engine to process the request and send back a response to the requesting client. Jasper Jasper is Tomcat's JSP Engine. Tomcat 5.x uses Jasper 2, which is an implementation of the Sun Microsystems's JavaServer Pages 2.0 specification. Jasper parses JSP files to compile them into Java code as servlets (that can be handled by Catalina). At runtime, Jasper is able to automatically detect JSP file changes and recompile them.

APACHE JAMES SERVER


The Java Apache Mail Enterprise Server -- generally referred to as James -- is a portable, secure, and 100% Pure Java enterprise mail server built by the Apache group. But it has the potential to be much more than that, thanks to its pluggable protocol architecture and a mailet infrastructure that does for e-mail what servlets do for Web servers. E-mail servers have been around since the early days of DARPA funding for what would eventually become the Internet, but James offers new possibilities for what's often been dubbed the Internet's first killer application.

James design objectives


James was designed to accommodate certain objectives. For example, it is written entirely in the Java language to maximize portability. It was written to be secure and provides a number of features that both protect the server environment itself and provide secure services. James functions as a multithreaded application that takes advantage of many of the benefits available in the Avalon framework. (Avalon is an Apache Jakarta project that features the Phoenix high-performance server infrastructure) James provides a comprehensive set of services, including many that are usually available only in high-end or well-established e-mail servers. These services are primarily implemented using the Matcher and Mailet APIs, which work together to provide e-mail detection and processing capabilities. James supports the standard e-mail protocols (SMTP, POP3, IMAP), along with a few others, using a loosely coupled plug-in design that keeps the messaging framework abstracted from the protocols. This is a powerful idea that may enable James to act as more of a general messaging server in the future or to support alternative messaging protocols such as instant messaging. The final and most interesting objective delivered by the James design group is the notion of mailets, which provide a component life cycle and container solution for developing e-mail applications. To be sure, it's always been possible to use other MTAs, such as Sendmail, to do this, given that any program can be called and data piped through executables to do the job, but James provides a common, simple API for accomplishing these goals and makes the work easy, thanks to the objects available for manipulation.

JavaMail API
What is the JavaMail API?
The JavaMail API is an optional package (standard extension) for reading, composing, and sending electronic messages. You use the package to create Mail User Agent (MUA) type programs, similar to Eudora, pine, and Microsoft Outlook. The API's main purpose is not for transporting, delivering, and forwarding messages; this is the purview of applications such as sendmail and other Mail Transfer Agent (MTA) type programs. MUA-type programs let users read and write e-mail, whereas MUAs rely on MTAs to handle the actual delivery. The JavaMail API is designed to provide protocol-independent access for sending and receiving messages by dividing the API into two parts: The first part of the API is basically, how to send and receive messages independent of the provider/protocol. The second part speaks the protocol-specific languages, like SMTP, POP, IMAP, and NNTP. With the JavaMail API, in order to communicate with a server, you need a provider for a protocol.

Protocols used with the API


SMTP The Simple Mail Transfer Protocol (SMTP) defines the mechanism for delivery of e-mail. In the context of the JavaMail API, your JavaMail-based program will communicate with your company or Internet Service Provider's (ISP's) SMTP server. POP POP stands for Post Office Protocol. POP is the mechanism most people on the Internet use to get their mail. It defines support for a single mailbox for each user. IMAP IMAP is a more advanced protocol for receiving messages. IMAP stands for Internet Message Access Protocol, and is currently in version 4, also known as IMAP4.

System Requirements

The recommended hardware requirements are as follows:

Intel Pentium(R) D CPU 3.00 Ghz or higher. 512 MB RAM(minimum), 1 GB RAM(recommended) Minimum of 2 GB, free hard disk space. Minimum resolution of 800 X 600 pixels Best viewed at 1024 X 768 pixels.

The recommended software requirement are as follows:


Operating System: Windows XP, Vista, Linux Web Browser: Internet Explorer 6 or further and compatible Java Development Kit (JDK 6u1.4 or higher) NetBeans IDE 6.7 Back End: MySQL Server, Apache JAMES Server

System Configuration

Installing and configuring james mail server


James requires a Java Runtime Environment of Java version 1.4 or higher installed to run the James application. The exact JREs available depend on the platform. A JRE must be downloaded and installed before James can run. In addition, the environment variable JAVA_HOME must be set to the JRE home directory before running James. It is important to realize that the James configuration files are not unpacked from the James distribution until the first time James is started. This is a consequence of the design of the Avalon Phoenix container used to run James. Once James has been started, the distribution will be unpacked. The server should be stopped, the configuration files edited, and the server restarted. So the installation sequence is: 1) Start, 2) Stop, 3) Edit, 4) Restart.

Installing a Stand-alone James Server


After unpacking the archive into your James installation directory, go to the bin subdirectory of the installation directory and run the "run" script (either run.sh or run.bat, depending on your platform). The configuration file is now unpacked and available for editing.

Initial Configuration
After installing the The server should proceed. The most can be found in directory. binary, the next step is to adjust the initial configuration. be stopped, (press ctrl + c) and then configuration can essential configuration is set in the config.xml file. This file the apps/james/SAR-INF subdirectory of the installation

The out of the box configuration makes certain assumptions and has some default values that are unlikely to be appropriate for real-world servers. There are a few issues that should be addressed immediately upon installation:

RemoteManager Administrator Account - Before the RemoteManager service can be used to add users to this server installation an administrator account must be created. DNS Servers - James needs to have access to a DNS server for domain resolution. The out of the box configuration assumes that there is a DNS server on localhost. In general administrators will have to change the configuration to point to a valid DNS server. This can be done by adjusting the dnsserver configuration block in the config.xml. Managed Domain Names/IP Addresses - Out of the box, James only handles mail that is sent to recipients at localhost. It will attempt to deliver all other email to remote SMTP servers. To allow James to handle email for your domain or IP address, you simply need to add the appropriate domain name or IP address to the servernames section of the config.xml.

Installing JavaMail
Introduction
There are two versions of the JavaMail API commonly used today: 1.2 and 1.1.3. All will work with JDK 1.1.6+, Java 2 Platform, Standard Edition (J2SE) version 1.2.x, and J2SE version 1.3.x. Note: After installing Sun's JavaMail implementation, you can find many example programs in the demo directory.

Installing JavaMail 1.2


To use the JavaMail 1.2 API, unbundle the javamail-1_2.zip file, and add the mail.jar file to your CLASSPATH. The 1.2 implementation comes with an SMTP, IMAP4, and POP3 provider besides the core classes.

Installing JavaMail 1.1.3


To use the JavaMail 1.1.3 API, unbundle the javamail1_1_3.zip file, and add the mail.jar file to your CLASSPATH. The 1.1.3 implementation comes with an SMTP and IMAP4 provider, besides the core classes. If you want to access a POP server with JavaMail 1.1.3, download and install a POP3 provider. Sun has one available separate from the JavaMail implementation. After downloading and unbundling pop31_1_1.zip, add pop3.jar to your CLASSPATH, too.

Using JavaMail with the Java 2 Enterprise Edition


If we use J2EE, there is nothing special you have to do to use the basic JavaMail API; it comes with the J2EE classes. Just make sure the j2ee.jar file is in your CLASSPATH and you're all set.

With everything unzipped in a James directory, our hierarchy will look like Listing below.

Listing. James, JavaMail, and JAF directories


James +---jaf-1.0.2 | +---demo | \---docs | \---javadocs +---james-2.1.2 | +---apps | +---bin | | \---lib | +---conf | +---docs | | +---images | | \---stylesheets | +---ext | +---lib | +---logs \---javamail-1.3 +---demo | +---client | +---servlet | \---webapp +---docs | \---javadocs \---lib

In principle, James should work well on any platform that supports a suitable Java 1.4 VM.

Software Implementation

Starting JAMES with the initiated Configuration


Once you have edited the configuration file you will need to restart James so that the changes take effect. When James starts, a list of the James services and the ports on which they are listening should be displayed on the console. Additional information about the system configuration is printed in the James log files upon startup. Finally, after configuration is complete, it will be necessary to create user accounts before the James server will be fully operational.

Creating User Accounts


User accounts are shared across services. A common user repository is shared across James services. That is, once you've created a POP3 mail account and set a password, that same account is available for authenticated SMTP and NNTP.

Before You Add Accounts


In James, user accounts are created throughout the RemoteManager. So, after installation is complete, the first step to adding users is to configure the RemoteManager You will need to have configured at least one administrator account and ensured that the RemoteManager is enabled. Also, you need to make sure that your user repository configuration is correct before adding any users. If you change your user repository type (i.e. file to database) or the configuration of your user repository (i.e. the file or database URL) after you have added users, you may lose your user data. Please change these values with care. After you've done this, restart James to ensure that any changes you've made in the configuration are incorporated into the running system. You are now ready to create user accounts.

Once James is up and listening, adding a user is simple: 1. Telnet to the host and port on which the RemoteManager is listening. For command-line telnet clients this is generally done by typing "telnet <host> <pass>" where <host> is the James hostname and <port> is the RemoteManager port specified in the James config.xml. In our case the host name is gagsmail.com and the port is 4555.

2. You will be prompted for your administrator userid and password. Enter the values you specified in the James config.xml.

3. After logging in, type "adduser <user> <password>" where <user> is the user name and <password> is the password of the account you wish to create. Please note that the user name should NOT be a complete email address. Rather, all email addresses of the form <user>@<domain> (where <domain> is any of the values specified in the <servernames> block) will be delivered to this account by default. Mailet configuration can change this default behavior. 4. Repeat step 3 for all user accounts you wish to create.

You can also view the number of users created by typing listusers. That's it. Your user accounts are now created and can be used by all James services.

DESIGN

General Block Diagram


Browser

Internet or Intranet

Program to handle requests and process the information and send page

Object handling Server

Database

Mail Server

Architecture Diagram

Add User ADD Modify User User Information MODIFY VIEW View MANAGE Data Base User Information

ADMIN

Mail Information User


RECEIVE

SEND

James server (Stores all mails)

DELETE

Tree Diagram
HomePage

User Login

Inbox

Compos e
Send mail

Preference s

Favourite s

Logou t

Check mail Display mail Downloa d Delete mail

View

Send attach

Chang e

Table Diagram
Field name Username Password First name Last name City State Pin Hintquestion Answer Field Type Text Text Text Text Text Text Number Text Text Length 20 8 20 20 10 10 7 40 10 Description Stores id of the user Stores the password of the user Stores the first name of the user Stores the last name of the user Stores the address of the user Hint Question for the account Answer to the Hint Question

Above is the description of the fields of the database of the GAGS web messaging & tools. Since the Username is unique that is no two user can have same user name hence username is the Primary key. The username & password are used to authenticate the user session when he logs in. The name, city, state, pincode are just taken as the added information about the user. This comes handy when the users forget their password. The Hint question & its answer are basic requirements to retrieve the passwords. All these fields can be changed by user after he logs in GAGS mail. All this information is taken from the user when he fills the registration form.

User Manual

Login Page
This is the first page viewers user see once they visit our site. Our page consists of login & password fields. Entering your user name & password takes you to your email account for sending & receiving mails. Further details about the email facility is provided in the Inbox section. For new users please refer to the Registration of the new users section. If the registered user forgets his/her password then the link Forgot my password will solve the problem. Refer Logging On section for this.

Registration of new users


New users can visit our site by typing our address in the address bar of their browsers. The first page i.e the login page will open. Our login page along with other matters consists of a link called Not yet registered? Clicking on this will take you to the registration form. Here enter your username, password & all other necessary details. It is compulsory to fill all the fields. If any of these are not entered then the form will not be accepted. Once you have filled the form click the submit button at the button. If all your details are filled correctly then you are registered. Now you can access your email whenever you want to.

Logging On
To logon simply visit our login page & type your user name & password. Click the log in button. Once checked for authenticity you are dropped to your user account. Once inside you will see your username & will be provided with 3 options namely Inbox, Compose & Logout. It also gives the number of messages in the inbox. There is also a link called Forgot my password? on the login page. This is helpful when you have forgotten your password & have difficulty in logging. On this you enter your username. This displays your hint question. All you have to do is enter your hint answer & we retrieve your password for you. Incase you forget your hint answer, contact us nasiba@gagsmail.com (only genuine parties will be entertained).

Inbox
Clicking this button will take you inbox. Inbox is place where all your mails are stored. The following information about each mail in shown in the inbox the subject of the mail, sender email ID, time the mail was sent, size of the mail and size of attachment if any. Clicking on the subject of the mail let shows you the contents of the respective mail. Next to each mail entry is checkbox, selecting the boxes next read mails let you select mails for deletion. By clicking the Delete selected button let you delete selected mail. We have also put to links named select all clicking on any one of these selects all mails in the inbox for deletion.

Reading of mails
When you want to read a particular mail click on the corresponding subject which will show you the contents of the mail. This page is invoked when you click on the subject of the mail. The page shows you the contents of the mail in the center, above the mail are present two links namely. Forward and Reply. The function of each of these is described in corresponding sections. Attachments with the mail are shown at the bottom of the message. To know more about the attachments kindly refer to downloading the attachment section of this user manual.

Downloading the Attachments


If any attachments are present in the mail, they are shown at the end of the mail. These attachments can be downloaded by clicking on the name of the respective file. The attachment can be downloaded on to the client machine & then user can access the file.

Click on Save Button to save the file.

Choose the path where you want to save the file. Then click on Save

After the file download completes, box appears and then the user can access the attachments.

Reply
Once you view the mail on the top is a link name reply, by clicking on this link you can send the reply by typing the mail and clicking the send button the advantage of this is you dont have to remember the address of the receiver

Forward
With the help of this facility the user send a mail present in his inbox to some other email address. If there are any attachments present they are also forwarded with the mail to the recipients. This can be useful when u want to send pictures or text in your mail to someone.

Compose
This section let you write an email to someone. It consists of a to field. Here you enter the email ID of the person you want to write the mail to(eg: abc@xyz.com). The next field is the subject field where you write the subject or the title of your mail. Cc means Carbon copy. This let you end a copy of mail to one or more people at the same time. In this field you write the email IDs of all the people you want to send a copy of the mail to. This facility may be useful when you have to send a number of greetings on a festival or on some similar occasion. Bcc or Blind carbon copy work similar to Cc, only difference is that a Bcc sends an exact replica of mail to the recipient of the mail. The attachment field lets you send an attachment along with the mail. The attachment may be in the form of a picture, an audio clip, a video clip or some similar files that exist on your computer. Once you click the browse button, folder browser dialog box opens which lets you select the file to be attached. Once the send mail button is clicked the mail is sent.

Preferences
Visiting this page shows you all your personal information like your name, address, pincode, etc you entered while creating your account. On this page you can change your username. Once you click submit button your information will be update in our database.

FavoUrites
This is a section for entertainment for our user. Here we provide you with the following facilities: Know your horoscope for 2010: If you are an astrology buff then this section is for you. Learn about how will be 2010 year for you. Calendar: This section will provide you the calendar for the 2010 with list all the holidays & days of importance. Improve your General knowledge: If you are anxious to know about things going on in the world & what is the biggest & largest in the world then this section is for you. Calculator: If you want to perform quick and simple calculations then use our simple online Calculator.

Know about your 2010 horoscope


For all those of you interested in astrology this link will seem very interesting. Find out how will be 2010 for you in terms of education, health etc.

Logout
The logout button ends your session and takes you back to the Login page. Your mails wont be accessible once you logout.

Limitations & Enhancements


We can enhance our project by implementing the following features.
Implementation of the chat server. Maintaining the contact list. Folder Management for Inbox. Implementation of Font toolbox for the message body so that user can style their messages as needed. Reporting of spam mails. We can star the favorite messages so that they are directly available under the starred mails link. We can implement backgrounds & themes for user interface. We can set multiple Recipients at a time for sending the message.

The following enhancement could NOT be implemented.


Generate acknowledgements if message is sent to valid / existing users. HTTPS support could not be implemented. User online registration to mail server

References

1. books:
Html, Xhtml And CSS Bible 3rd Edition Headfirst Java : Kathy Sierra JSP, The Complete Reference: Phil Hanna

2. Websites:
java.sun.com www.google.com www.roseindia.com www.apache.org

Potrebbero piacerti anche