I have put together this information to have a precise configuration of tools needed to create a Mail Server on Linux.
mail procedureFull description
Modul ini berisi mengenai langkah-langkah dalam konfigurasi Mail Server pada Debian 7
IT databaseFull description
LAC ICT Activity Card MS Word Mail Merge
more than 150 email address of different organizations in pakitan.Full description
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
College of Engineering Trivandrum Department of Computer Science & Engineering Certified that this Project Report entitled
Mailman-A complete mail server is a bonafide record of the project presented by Prasanth.R.S M105111
in partial fulfilment of the requirements for the award of the degree of
Master of Technology in
Computer Science & Engineering
Dr. M.S Rajasree
Guide Asst. Professor Dept.of Computer Science & Engineering
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.
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 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.
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 business 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.
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.
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)
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 transmission channel. QUIT < CRLF >
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.
The main features of the application are: • Spam filtering • Mail sending/receiving • Status tracking module • Encryption/decryption of mails • Contacts management • chat module
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
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
• 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
• 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.
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
• 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.
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 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 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.
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 efficiency 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 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
Design Notations Data Flow Diagram
DFD Level 1
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.
References  http://www.powermta.port25.com/windows-email server/. March 2002.  http://whatismyipaddress.com/mail server. April 1999.