Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Mailman-A complete mail server

A Project Report Submitted in partial fullment of the requirements for the award of the degree of

Master of Technology
in

Computer Science and Engineering

by
Prasanth.R.S M105111

Department of Computer Science & Engineering

College of Engineering Trivandrum


Kerala - 695016 2010-11

College of Engineering Trivandrum


Department of Computer Science & Engineering Certied that this Project Report entitled

Mailman-A complete mail server


is a bonade record of the project presented by
Prasanth.R.S M105111

in partial fullment of the requirements for the award of the degree of

Master of Technology
in

Computer Science & Engineering

Mr.Anvar
Guide Asst. Professor Dept.of Computer Science & Engineering

Dr. M.S Rajasree


Professor and Head Dept.of Computer Science & Engineering

Acknowledgement
I would like to express my sincere gratitude and heartful indebtedness to my guide Mr Anvar, Asst. Professor, Department of Computer Science And Engineering for his valuable guidance and encouragement during the course of preparation and presentation of this project report. I am thankful to Dr. M S Rajasree, Head of the Department, Shine S, P.G Coordinator, Shreelekshmi R, Asst. Professor and Rameez Mohammed,Lecturer Department of Computer Science and Engineering for their help and support. I also acknowledge my gratitude to other members of faculty in the Department of Computer Science And Engineering and all my friends for their whole hearted cooperation and encouragement. Above all I am thankful to God Almighty.

Prasanth.R.S

Contents
1 Introduction 5 6 6 9 9 9 9 9 10 10 10 11 11 12 12 13 13 13 2 SMTP(Simple Mail Transfer Protocol) 2.1 SMTP Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 SYSTEM ANALYSIS 3.1 Product Features . . . . . . . . 3.2 System Specication . . . . . . 3.2.1 Hardware Conguration 3.2.2 Software Conguration .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

4 TOOLS 4.1 About ASP.NET . . . . . . . . . . . . . . 4.1.1 .NET Framework . . . . . . . . . . 4.1.2 Common Langauge Runtime (CLR) 4.1.3 C Sharp . . . . . . . . . . . . . . . 4.2 DBMS Description . . . . . . . . . . . . . 4.2.1 SQL Server . . . . . . . . . . . . . 4.3 Features of OS . . . . . . . . . . . . . . . 4.3.1 Microsoft Windows 2000 Server . . 4.3.2 Internet Information Server 5.0 . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

5 Design Notations 15 5.1 Data Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 6 Conclusion 17

Abstract
Mailman is a mailserver which is an easy way of transferring mails. An e-mail server is a computer within our network that works as virtual post oce. A mail server usually consists of a storage area where e-mail is stored for local users, a set of user denable rules which determine how the mail server should react to the destination of a specic message, a database of user accounts that the mail server recognizes and will deal with locally, and communications modules which are the components that actually handle the transfer of messages to and from other mail servers and email clients. The system is intended to be a complete email server, with some extended features which will enable the users of the system to seamlessly communicate with each other through emails. It is developed as a secured email server which manages the sending and receiving of emails by the registered users of the system in a way that enforces the security. Security is provided by using encryption and decryption. It encrypts password and message while sending and in the receiving side it decrypts the message. Hence high security is provided for users passwords and messages.It also includes the advanced features like status tracking, which means that, users can know whether the recipient has read the mail or deleted. There are four status. They are read, unread, read and deleted and unread and deleted. Users can know the status of the mail after sending.It also contains another feature, chatting. By using on-line chatting, users can seamlessly communicates by sending and receiving messages.It also includes a feature like deleting of mails after a particular date. Senders can send mails with mail destroying date. When the mail reach the particular date which is already set is automatically removed from the inbox of the recipient whether it is read or unread.In the Login link a user have to login for transferring mails. Next page provides several links. The Home page contains several links such as my settings, Inbox, Compose, Trash, My folder, Sent Items, spams,Address Book and Logout.User can add new contacts and signature The user can create new mails and sent to other user or group of users.An already registered user can simply type in his/her valid username and password, and then click the submit button. But those visitors who are not registered have to go to the registration page before they login. In that page user have to enter First name, Last name, Address, Postal Code, City, Phone number, Username and password. After registration user can sign in and check or send mail . Logout link will help the user to logout from the site.

Introduction

E-mail server is a computer within our network that works as virtual post oce.A mailserver which is an easy way of transferring mails.Emails were an easy way to notify end-users of business events in an application. With the emergence of new notication channels (such as WAP Phones, Instant Messaging applications, and SMS Pagers), sending notications has become more complicated. Now, applications have to support an ever- changing set of communication channels that end users would like to be notied on. Additionally, once developers have nished building the communication mechanisms, they will also need a way of determining where to contact an end user at what time (i.e. should an email be sent to the users PC). An email box (also email mailbox, e-mailbox) is the equivalent of a letter box for electronic mail. It is the destination where electronic mail messages are delivered.A mailbox is identied by an email address. However, not all email addresses correspond to a storage facility. The term pseudo-mailbox is sometimes used to refer to an address that does not correspond to a denitive mail store. Email forwarding may be applied to reach end recipients from such addresses. Electronic mailing lists and email aliases are typical examples.The term mailbox refers to that depository. In that sense the terms mailbox and address can be used interchangeably. An Email client retrieves messages from one or more mailboxes. The database (le, directory, storage system) in which the client stores the messages is called the local mailbox. Popular protocols to retrieve messages are: Post Oce Protocol:- A client-server method that is most suitable for reading messages from a single client computer because message are removed from the server mailbox after rst retrieval. Internet Message Access Protocol:- Designed to retrieve messages from multiple clients by allowing remote management of the server mailbox by keeping master copies of messages on the server but can save a copy in the local mailbox. Web-based clients exist that retrieve messages from the server on behalf of the website user and display them to the user in a suitable format in a web browser. Any kind of database can be used to store email messages. However, some standardization has resulted in several well-known le formats to allow access to a given mailbox by dierent computer programs. There are two kinds of widely used formats: Mailbox is the original technique of storing all messages in a single le, Maildir is a newer specication that provides for storing all messages in a directory tree, with one le for each message.

SMTP(Simple Mail Transfer Protocol)

SMTP or Simple Mail Transfer Protocol is a way to transfer email reliably and eciently. SMTP is a relatively simple, text based protocol, where one or more recipients of a message are specied (and in most cases veried to exist) and then the message text is transferred. You can think of SMTP as the language that mail servers use to communicate among themselves. Since this protocol started out as purely ASCII text based, it did not deal well with binary les. When the user wants to send a message to someone, the sender SMTP establishes a two way transmission channel to a receiver SMTP. SMTP commands are generated by the sender SMTP and sent to the receiver SMTP. SMTP replies are sent from the receiver SMTP to the sender SMTP in response to the commands. In case a direct connection does not exist between the sender and the nal destination, the message may be sent via one or more relay SMTP servers. The relay SMTP servers rst act as receivers and then relays the message to the next SMTP. SMTP server must be supplied with the name of the ultimate destination host as well as the destination mailbox name. Once the transmission channel is established, the SMTP sender sends a MAIL command indicating the sender of the mail. If the SMTP receiver can accept mail it responds with an OK reply. The SMTP sender then sends a RCPT command identifying a recipient of the mail. If the SMTP receiver can accept mail for that recipient it responds with an OK reply; if not, it responds with a reply rejecting that recipient (but not the whole mail transaction). The SMTP sender and SMTP receiver may negotiate several recipients. When the recipients have been negotiated the SMTP sender sends the mail data, terminating with a special sequence. If the SMTP receiver successfully processes the mail data it responds with an OK reply. The dialog is purposely lock step, one at a time.

2.1

SMTP Commands

Given below are some basic commands with their brief descriptions. The SMTP standard denes many more commands, most of which are optional to implement. HELLO (HELO)

This is the rst command that is sent when a connection is established. It is used to identify the sender SMTP to the receiver SMTP. The argument eld contains the host name of the sender SMTP. HELO < SP > < domain > < CRLF > Note: < SP > stands for a space and < CRLF > stands for a combination of Carriage Return and Linefeed. The receiver SMTP identies itself to the sender SMTP in the connection greeting reply and in the response to this command. MAIL (MAIL)

There are three steps to SMTP mail transactions. The transaction is started with a MAIL command which gives the sender identication. A series of one or more RCPT commands follows giving the receiver information. Then a DATA command gives the mail data. And nally, the end of mail data indicator conrms the transaction. The rst step in the procedure is the MAIL command. The reverse-path contains the source mailbox. MAIL < SP > FROM:< reverse path > < CRLF > If accepted, the receiver SMTP returns a 250 OK reply. The < reverse path > can contain more than just a mailbox. The < reverse path > is a reverse source routing list of hosts and source mailbox. The rst host in the < reverse path > should be the host sending this command. RECIPIENT (RCPT) This command gives a forward path identifying one recipient. If accepted, the receiver SMTP returns a 250 OK reply, and stores the forward path. If the recipient is unknown the receiver SMTP returns a 550 Failure reply. This second step of the procedure can be repeated any number of times. RCPT < SP > TO:< f orward path > < CRLF > The < f orward path > can contain more than just a mailbox. The < f orward path > is a source routing list of hosts and the destination mailbox. The rst host in the < f orward path > should be the host receiving this command. DATA (DATA) DATA (DATA) The third step in the procedure is the DATA command. DATA < CRLF > If accepted, the receiver SMTP returns a 354 Intermediate reply and considers all succeeding lines to be the message text. When the end of text is received and stored the SMTP receiver sends a 250 OK reply.Since the mail data is sent on the transmission channel the end of the mail data must be indicated so that the command and reply dialog can be resumed. SMTP indicates the end of the mail data by sending a line containing only a period.The mail data includes the memo header items such as Date, Subject, To, Cc, From etc. VERIFY (VRFY) This command asks the receiver to conrm that the argument identies a user. If it is a user name, the full name of the user (if known) and the fully specied mailbox are returned. 7

VRFY < SP > < username > < CRLF > RESET (RSET)

This command species that the current mail transaction is to be aborted. The receiver must send an OK reply. RSET < CRLF > NOOP (NOOP)

This command does not aect any parameters or previously entered commands. It species no action other than that the receiver send an OK reply. NOOP < CRLF > QUIT (QUIT)

This command species that the receiver must send an OK reply, and then close the transmission channel. QUIT < CRLF >

SYSTEM ANALYSIS

Requirement analysis can be dened as a detailed study of various operations performed by a system and their relationship within and outside of the system. One aspect of the analysis is designing the boundaries of the system and determining whether or not a candidate system should other related systems. During analysis data are collected on the available les, decision points and transactions handled by the present system.

3.1

Product Features

The main features of the application are: Spam ltering Mail sending/receiving Status tracking module Encryption/decryption of mails Contacts management chat module

3.2
3.2.1

System Specication
Hardware Conguration

The selection of hardware is very important in the existence and proper working of any software. When selecting hardware, the size and capacity requirements are also important. Processors : Pentium 2 or above Hard Disk : 40 GB Hard Disk RAM : 256MB Clock Speed : 550 MHz or above 3.2.2 Software Conguration

One of the most dicult tasks is selecting software, once the system requirements is nd out then we have to determine whether a particular software package ts for those system requirements. This section summarizes the application requirement Language : ASP.NET Back End Tool : SQL Server Operating System : WINDOWS XP/NT/Vista

4
4.1

TOOLS
About ASP.NET
Microsoft .net is a set of software technologies for connecting information, people, system and devices. An absolutely new programming model - totally objected oriented; grammar/functionality independent of each other. Simplied and consistent architecture - same development methodology may be applied across plethora of languages without performance loss. Microsoft .net is a set of software technologies for connecting information, people, system and devices. An absolutely new programming model - totally objected oriented; grammar/functionality independent of each other. Simplied and consistent architecture - same development methodology may be applied across plethora of languages without performance loss.

NET is the combination of Framework, Common Language Runtime (CLR), Class libraries, ASP.NET, Web Services and .NET Enterprise Servers. The means to build the Web the way you want it. Everybody is doing Web Services. Enterprise Servers it is the future and next generation of the Internet. Many companies are using Web Services now. With .NET, we think that you have the best platform to host your Web Services. 4.1.1 .NET Framework

The .NET Framework is a development and execution environment that allows dierent programming languages and libraries to work together seamlessly to create applications that are easier to build, manage, deploy, and integrate with other networked systems. The .net framework is responsible for providing a basic platform for application.

10

4.1.2

Common Langauge Runtime (CLR)

The Common Language Runtime is responsible for run time services such as language integration, security enforcement, memory, process, and thread management. In addition, it has a role at development time when features such as life-cycle management, strong type naming, cross-language exception handling, dynamic binding, and so on, reduce the amount of code that a developer must write to turn business logic into a reusable component

4.1.3

C Sharp

C sharp = VB+JAVA (Best of both) C sharp is an OOP language Developed by Microsoft Designed for .net, rather than adapted. Simple operator overloading Basic statement identical to C++, java. C Sharp is simple, powerful, type-safe, and object-oriented. With its many innovations, C Sharp enables rapid application development while retaining the expressiveness and elegance of C style languages Visual Studio supports Visual C Sharp with a full-featured Code Editor, project templates, designers, code wizards, a powerful and easy-to-use debugger, and other tools. The .NET Framework class library provides access to a wide range of operating system services and other useful, well-designed classes that speed up the development cycle signicantly. The C Sharp language is clearly the star of the whole .Net mega-production, with Visual Basic.Net as its sidekick. C Sharp and its Java-like qualities such as garbage collection and hierarchical namespaces have received lots of attention.

11

4.2
4.2.1

DBMS Description
SQL Server

SQL Server is the native data store of ASP.NET. Every business enterprise maintains large volumes of data for its operations. With more and more people accessing data for their work, the need to maintain its integrity and relevance increases. Normally with the traditional methods of storing data and information in les, the chances that the data loses, its integrity and validity are very high SQL SERVER oers capabilities of both relational and object-oriented database systems. In general, objects can be dened as reusable software calls which can be location independent and perform a specic task on any application environment with little or on change to the code. SQL Server products are based on a concept known as Client Server Technology. A client of front-end database applications also interacts with the database by requesting and receiving information from the database server. It acts as an interface between the user and the database. The database Server or back-end is used to manage the database tables optimally among multiple clients who concurrently request the server for same data. It also enforces data integrity across all client applications and controls database access and other. Microsoft SQL Server extends the performance, reliability, and quality and ease-of-use of Microsoft SQL Server version 8.00194 Microsoft SQL Server includes several new features that make it an excellent database platform for large-scale online transactional processing (OLTP), data warehousing, and e-commerce applications. The Repository component available in SQL Server version 7.0 is now called Microsoft SQL Server Meta Data Services. References to the component now use the term Meta Data Services. The term repository is used only in reference to the repository engine within Meta Data Services. Microsoft SQL Server features include: Internet Integration. The SQL Server database engine includes integrated XML support.. The SQL Server programming model is integrated with the Windows DNA architecture for developing Web applications, and SQL Server supports features such as English Query and the Microsoft Search Service to incorporate user-friendly queries and powerful search capabilities in Web applications. Scalability and Availability. The same database engine can be used across platforms ranging from laptop computers running Microsoft Windows 98 through large, multiprocessor servers running Microsoft Windows 2000 Data Center Edition. SQL Server Enterprise Edition supports features such as federated servers, indexed views, and large memory support that allow it to scale to the performance levels required by the largest Web sites. Enterprise-Level Database Features. The SQL Server relational database engine supports the features required to support demanding data processing environments. The database engine protects data integrity while minimizing the overhead of managing thousands of users concurrently modifying the database. SQL Server distributed queries allow you to reference data from multiple sources as if it were a part of a SQL Server database, while at the same time, the distributed transaction support protects the integrity of any updates of the distributed data. 12

Ease of installation, deployment, and use. SQL Server includes a set of administrative and development tools that improve upon the process of installing, deploying, managing, and using SQL Server across several sites. SQL Server also supports a standards-based programming model integrated with the Windows DNA, making the use of SQL Server databases and data warehouses a seamless part of building powerful and scalable systems. These features allow you to rapidly deliver SQL Server applications that customers can implement with a minimum of installation and administrative overhead.

4.3
4.3.1

Features of OS
Microsoft Windows 2000 Server

Windows 2000 Server The Microsoft Windows 2000 Server operating system includes integrated Web and application services. These include Internet Information Services (IIS) 5.0, and technologies such as COM+, Message Queuing, and data access. This combination allows developers to use a wide variety of programming languages and tools to build applications that can easily integrate with existing systems, while taking advantage of emerging technologies. By integrating these technologies with enhanced performance, scalability, and reliability, as well as infrastructure features including Microsoft Active Directory Service and end-to-end security, Windows 2000 provides an application server platform well suited for the next generation of Web-enabled applications. The Microsoft Windows operating system platform has become a standard foundation for building and deploying software applications. Its broad programming language support, large third-party developer community, and cost eciency have helped make Windows the mainstream business operating system and application server platform. With Windows 2000, application developers can use the tools and skills they already have write the new Internet-enabled applications that are increasingly required by businesses.From Web sites to high-volume transactional applications, Windows 2000 delivers the productivity benets of component-based development and takes advantage of industry standards for greater interoperability, exibility, and tools support. These application services are tightly integrated into the operating system to deliver the reliability and manageability that the most demanding traditional and Web-enabled applications require. 4.3.2 Internet Information Server 5.0

Windows 2000 Server includes the built-in Web service, Internet Information Services (IIS) 5.0, which is accessible from popular browsers. IIS 5.0 is the reliable, scalable HTTP portal through which Web sites and Web applications communicate with the outside world. IIS 5.0 provides all the standard services users expect from a Web server as well as support for the latest Internet standards, including HTTP 1.1, HTTP Compression, Secure Sockets Layer, and Common Gateway Interface (CGI), and the new Internet collaboration standard, Web Distributed Authoring and Versioning (WebDAV). In addition, IIS 5.0 goes further than a simple Web server by providing the environment and services application developers need to quickly create sophisticated Web-enabled applications. One of the most signicant application development technologies included in IIS 5.0 is Active Server Pages.An ASP page contains a simple program-a script-written in a powerful scripting language, such as VBScript, and executed at the server. ASP pages in IIS 5.0 oer developers many benets: 13

Greatly improved scalability and reliability With IIS Reliable Restart and other enhancements, IIS in Windows 2000 allows developers to build applications that support more users and stay running. Access to COM+ objects Because an ASP page can create and use COM+ objects, the entire world of component-based applications is accessible to it. Integration with COM+-based applications Because ASP is a COM+ application, all COM+ applications and capabilities are available in ASP. Transactional ASP scripts COM+ integration allows creation of ASP pages that are transactional, meaning that all operations performed by the script can succeed or fail as a unit. Process isolation ASP pages can run in the same process as IIS, oering the best performance, or in a separate process, oering greater isolation in the event of failures. IIS now supports three application protection modes: High Medium and Low, allowing developers to balance overall Web server reliability with application performance. Support for standard, well-known languages Because VBScript is a subset of Visual Basic, millions of developers are familiar with VBScript today. ASP pages can also be written in JavaScript, another popular and well-supported language. Ability to distribute processing load across servers By using Windows Load Balancing Service (WLBS), included with Windows 2000 Advanced Server, processor-intensive ASP applications can be run on multiple machines to support higher numbers of users. New ASP features in Windows 2000 Server improve performance and make it easier to write applications that use IIS 5.0 and ASP. These features include: Error handling ASP now has new error handling that lets developers trap errors in a custom error message .asp le. Using the new error method, developers can display useful information, such as an error description or the line number in an .asp le where the error occurred Scriptless ASP ASP pages that dont contain server-side script are processed as if they were static HTML pages. Flow control Rather than redirecting requests, which requires a performance-impacting roundtrip to the client, Web developers can transfer requests directly to an .asp le without ever leaving the server. Performance-enhanced objects IIS provides updated performance enhanced versions of popular installable components. Self-tuning IIS can determine when executing requests need additional resources and automatically provide more threads when required.

14

5
5.1

Design Notations
Data Flow Diagram

15

DFD Level 1

16

Conclusion

The Mailman system, once in place, is expected to provide a more convenient and reliable service compared to traditional mail servers. Status tracking module will help to ensure the delivery of critical emails and help us make prompt action in case of non-receipt.Security is provided by using encryption and decryption. It encrypts password and message while sending and in the receiving side it decrypts the message.It also contains another feature, chatting. By using on-line chatting, users can seamlessly communicates by sending and receiving messages.It also includes a feature to delete mails after a particular date. While sending ,senders can specify the destruction date. On the predened date the mail is automatically removed from the inbox of the recipient whether it is read or unread.This set of enhancements adds a layer of premium functionality over email communication thus taking the entire system to next level.

17

References
[1] http://www.powermta.port25.com/windows-email server/. March 2002. [2] http://whatismyipaddress.com/mail server. April 1999.

18

You might also like