Mailman-A complete mail server
#1

Mailman-A complete mail server
A Project Report
Submitted in partial fulfilment 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

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 office. A mail server usually consists
of a storage area where e-mail is stored for local users, a set of user definable rules which
determine how the mail server should react to the destination of a specific 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 page 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 page link will help the user to
logout from the site.


[attachment=8651]

1 Introduction
E-mail server is a computer within our network that works as virtual post office.A mailserver
which is an easy way of transferring mails.Emails were an easy way to notify end-users of busi-
ness events in an application. With the emergence of new notification channels (such as WAP
Phones, Instant Messaging applications, and SMS Pagers), sending notifications has become
more complicated. Now, applications have to support an ever- changing set of communication
channels that end users would like to be notified on. Additionally, once developers have finished
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 identified
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 definitive
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 (file, directory,
storage system) in which the client stores the messages is called the local mailbox. Popular
protocols to retrieve messages are:
• Post Office 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
first 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 file formats to allow access to a given mailbox by different
computer programs. There are two kinds of widely used formats:
• Mailbox is the original technique of storing all messages in a single file,
• Maildir is a newer specification that provides for storing all messages in a directory tree,
with one file for each message.
5
2 SMTP(Simple Mail Transfer Protocol)
SMTP or Simple Mail Transfer Protocol is a way to transfer email reliably and efficiently.
SMTP is a relatively simple, text based protocol, where one or more recipients of a message
are specified (and in most cases verified 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
files. 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 final destination, the message may be sent via one or more relay SMTP
servers. The relay SMTP servers first 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
defines many more commands, most of which are optional to implement.
• HELLO (HELO)
This is the first command that is sent when a connection is established. It is used to identify
the sender SMTP to the receiver SMTP. The argument field 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 identifies itself to the sender SMTP in the connection
greeting reply and in the response to this command.
• MAIL (MAIL)
6
There are three steps to SMTP mail transactions. The transaction is started with a MAIL
command which gives the sender identification. A series of one or more RCPT commands
follows giving the receiver information. Then a DATA command gives the mail data. And
finally, the end of mail data indicator confirms the transaction.
The first 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 first 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 first 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 confirm that the argument identifies a user. If it is a
user name, the full name of the user (if known) and the fully specified mailbox are returned.
7
VRFY < SP > < username > < CRLF >
• RESET (RSET)
This command specifies that the current mail transaction is to be aborted. The receiver
must send an OK reply.
RSET < CRLF >
• NOOP (NOOP)
This command does not affect any parameters or previously entered commands. It specifies
no action other than that the receiver send an OK reply.
NOOP < CRLF >
• QUIT (QUIT)
This command specifies that the receiver must send an OK reply, and then close the trans-
mission channel.
QUIT < CRLF >
8
3 SYSTEM ANALYSIS
Requirement analysis can be defined 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 files, decision
points and transactions handled by the present system.
3.1 Product Features
The main features of the application are:
• Spam filtering
• Mail sending/receiving
• Status tracking module
• Encryption/decryption of mails
• Contacts management
• chat module
3.2 System Specification
3.2.1 Hardware Configuration
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 Configuration
One of the most difficult tasks is selecting software, once the system requirements is find out then
we have to determine whether a particular software package fits for those system requirements.
This section summarizes the application requirement
• Language : ASP.NET
• Back End Tool : SQL Server
• Operating System : WINDOWS XP/NT/Vista
9
4 TOOLS
4.1 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.
• Simplified 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.
• Simplified 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 different
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 inte-
gration, 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 significantly. 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 DBMS Description
4.2.1 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 files, the chances that the data loses, its integrity and validity
are very high SQL SERVER offers capabilities of both relational and object-oriented database
systems. In general, objects can be defined as reusable software calls which can be location
independent and perform a specific 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 rang-
ing 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 multi-
ple 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 Features of OS
4.3.1 Microsoft Windows 2000 Server
Windows 2000 Server The Microsoft Windows 2000 Server operating system includes inte-
grated 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 efficiency have helped make Windows the main-
stream business operating system and application server platform. With Windows 2000, appli-
cation 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 trans-
actional applications, Windows 2000 delivers the productivity benefits of component-based
development and takes advantage of industry standards for greater interoperability, flexibility,
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 significant 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 offer developers
many benefits:
13
• Greatly improved scalability and reliability With IIS Reliable Restart and other enhance-
ments, 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, offering the best perfor-
mance, or in a separate process, offering 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 file. Using the new error method, developers can display
useful information, such as an error description or the line number in an .asp file where
the error occurred
• Scriptless ASP ASP pages that don’t 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 file
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 Design Notations
5.1 Data Flow Diagram
15
DFD Level 1
16
6 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
predefined 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://powermta.port25windows-email server/. March 2002.
[2] http://whatismyipaddressmail server. April 1999.
18
Reply

Important Note..!

If you are not satisfied with above reply ,..Please

ASK HERE

So that we will collect data for you and will made reply to the request....OR try below "QUICK REPLY" box to add a reply to this page
Popular Searches: infostrada libero smtp, cooltoad inbox, www helo savrast samasar vidio, smtp pop, siman langauge, wwwrediffmailcom inbox, mawts 1 helo nvd,

[-]
Quick Reply
Message
Type your reply to this message here.

Image Verification
Please enter the text contained within the image into the text box below it. This process is used to prevent automated spam bots.
Image Verification
(case insensitive)

Possibly Related Threads...
Thread Author Replies Views Last Post
  Implementation of RSA Algorithm Using Client-Server full report seminar topics 6 26,605 10-05-2016, 12:21 PM
Last Post: dhanabhagya
  SLEEP SERVER & ITS ENTERPRISE APPLICATION seminar surveyer 5 2,888 03-12-2012, 11:25 PM
Last Post: Guest
  Honeypot Complete Project Documentation Required kamal04 0 783 27-02-2012, 11:51 AM
Last Post: kamal04
  Linux Terminal Server Project full report seminar class 0 1,639 26-04-2011, 12:31 PM
Last Post: seminar class
  CLIENT/SERVER ARCHITECTURE seminar class 0 1,548 12-04-2011, 11:30 AM
Last Post: seminar class
  NETWORK & SERVER CONFIGURATION seminar class 0 878 24-02-2011, 11:16 AM
Last Post: seminar class
  Client Server Software Engineering Full Download Seminar Report and Paper Presentatio computer science crazy 1 3,483 24-12-2010, 12:24 PM
Last Post: seminar surveyer
  apache server projectsofme 1 1,668 30-10-2010, 04:31 PM
Last Post: Kashish
  Introduction to SQL Server 2000 & Relational Databases seminar surveyer 0 1,162 12-10-2010, 02:05 PM
Last Post: seminar surveyer
  INTELLIGENT PREFETCHING AT A PROXY SERVER project report helper 0 1,336 27-09-2010, 12:48 PM
Last Post: project report helper

Forum Jump: