Вы находитесь на странице: 1из 57


Network Nuts Pvt. Ltd. -- For Linux, for life

1. About us
2. Awards won by us
3. Red Hat Certifications
4. Linux training
5. Online training

1.1 About Us
Network NUTS offers RHCSA, RHCE, RHCVA, RHCA, Red Hat Storage, Red Hat Cluster and
Red Hat Cloud certification and many other open source technology training in Delhi. We are the
Best Red Hat Training Partner in Delhi and North India for last 6 years.
Network NUTS was established in 2003 as a education organization. We started in North Delhi,
India and started provided IT certification training on Microsoft & Cisco. Its training has
reached lacs of professionals in India and worldwide using our classroom based instructor led
training, online training and videos. Range of professionals from network administrators,
security administrators to security consultants are sharing and using lessons they learned from
Network NUTS.
Network NUTS is the most trusted and loved Red Hat Linux Certification Training Company in
Network NUTS is a premium Red Hat Certification Training Partner and our main focus is on
open source training including all the Red Hat Certification Training ranging from RHCSA,
RHCE, RHCSS, RHCVA, RHCA and Open Stack Cloud training. With our high quality training
standards we are able to achieve near to 90% pass percentage in Red Hat Certifications.
Our high standards in Red Hat Linux Certification Training can be proven by the fact that we
had won Best Red Hat Certified Training Partner award in North India for last 6 years

I was fed up with the substandard training provided by the training companies. Being a
technical trainer myself in my early days, I was told many times by my employers to speed up
the batch, dont share anything outside the course curriculum etc. I think one of the reasons for
this behavior might be is because generally employers are not techie; they are investors and
wanted their ROI in minimum time span. I was determined to change this. I always wanted to
share more. So started Network NUTS in year 2003, says Alok Srivastava, Founder-CEO
Network NUTS
We initially started offering Microsoft and Cisco Certification training like MCSE, CCNA,
CCNP certifications. Then we realized the potential of opensource and Linux. We started our
opensource journey with parterning with Novell for SuSE. In the year 2004, we created a ripple
in the training sector, in Delhi by offering mentoring maximum SuSE linux professionals.
Then during 2004-05 we partnered with Red Hat and started offering high quality Red Hat Linux
training in Delhi. During our first year of partnership with Red Hat. Our hard work and
dedication towards quality trainings has earned us Most Promising Red Hat Certified
Training Partner award. That was a morale booster. Now we are most reputed and loved
Red Hat Linux Certification training company in India with 6 Red Hat GLS awards and over
8000+ Red Hat Certified engineers.

1.2 Awards won by Network NUTS:

Most Promising Red Hat Certified Partner 2005-06

Best Red Hat Certified Training Partner, North India 2006-07

Best Red Hat Certified Training Partner, North India 2007-08

Best Red Hat Certified Training Partner, North India 2010-11

Best Red Hat Certified Training Partner, North India 2011-12

Appreciation Award for Contribution to Red Hat Linux, India & Overseas 2012-13

Special Appreciation Award for Beyond RHCE training, India & Overseas 2012-13

Our students comes from names like Novell, Wartsila India Ltd., Canon, St. Patricks
International College-UK, UNODC, Jindal Steels and Power Limited, Institute of Engineering
and Technology-Alwar, Hindu College-Sonepat, GVM College-Sonepat, GeoEnpro Petroleum
Ltd-France, Life Insurance Corporation of India (LIC), National Information Centre (NIC) Govt.
of India, Indian Air Force-WAC, Indian Air Force-AFCAO, Indian Air Force-CAC, INDIAN

RAILWAYS (CRIS), VIET-Dadri, Shri Mata Vaishno Devi University-Jammu, DoIT-Govt. of

Rajasthan, Bajaj-Allianz, IHBT-Govt. of India, IBM, Indian Meteorological Department, Govt.
of India, Delhi University, Canon, Orange Business Services, Computer Associates, Indian
Army, Ericsson India to name a few.
We are striving to be the best Linux Training company in India.
We wanted to be the best, not the biggest.

1.3 Red Hat Certifications:

Network NUTS provides high quality Red Hat certification training. Red Hat certifications are
earned by passing hands-on, practical exams during which you complete real-world tasks using
red hat technologies. Red Hat certification programs give employers and managers ways to find
and develop qualified professionals and help technical professionals prove their skills.

Fig 1.1: Red Hat Certifications

1.4 Linux Training:

Fig 1.2: Linux Training

1.5 Time to Live, Love, Learn Linux Online:

Network NUTS is India's most Loved Linux training company and winner of "Best Red Hat
Certified Training Partner" in North India for 6 years. Conducting maximum number of Red
Hat Certification examinations in Northern India. Network NUTS offers online Red Hat Linux
training and generic Linux training on popular certifications like RHCE, RHCVA, Red Hat
Server Hardening, Red Hat Cloud Storage, OpenStack, OpenLDAP, Linux HA Clustering,
MySQL, MariaDB, Puppet Fundamentals & VMWare. Online Linux training are delivered using
trusted Cisco Webex enterprise solution.
In addition to classroom based training. Network NUTS offers Online RedHat Linux
Certification Training using Cisco Webex. Get trained by our experienced Linux trainers from
the comfort of your home / office. Save on travelling, boarding and hotel cost. Further you can
continue your classes without taking leave from your work. The timings are also flexible,
specially for USA, Europe students as there is a approximate time difference of 12 hours.
You can attend Online RHCE, RHCVA, Red Hat Server Hardening, Red Hat Cloud Storage,
OpenStack, OpenLDAP, Linux HA Clustering, MySQL, MariaDB, Puppet Fundamentals &
VMWare training.
The biggest benefit of attending our RedHat Linux online training is, you get secure access to
recordings of all your sessions. You can refer recordings any number of times and go through
your class again, in case of any doubt. Feel free to raise your doubt to your trainer in next class,
in case you still need his help. You also got opportunity of interacting with all classmates from
different regions of world. Thus enhancing training experience.
Why Choose Network NUTS Online Training?

Best Linux Trainers in the Industry

Get Recording of All Classes

Deliverd securely via Cisco Webex

Save Time and Money on Travelling

Live Audio Video Session with Trainer

No Need to Install any Software



2.1 Prerequisite for project development: Linux

Linux is, in simplest terms, an operating system. It is the software on a computer that enables
applications and the computer operator to access the devices on the computer to perform desired
functions. The operating system (OS) relays instructions from an application to, for instance, the
computer's processor. The processor performs the instructed task, then sends the results back to
the application via the operating system.
Explained in these terms, Linux is very similar to other operating systems, such as Windows and
But something sets Linux apart from these operating systems. The Linux operating system
represented a $25 billion ecosystem in 2008. Since its inception in 1991, Linux has grown to
become a force in computing, powering everything from the New York Stock Exchange to
mobile phones to supercomputers to consumer devices.
As an open operating system, Linux is developed collaboratively, meaning no one company is
solely responsible for its development or ongoing support. Companies participating in the Linux
economy share research and development costs with their partners and competitors. This
spreading of development burden amongst individuals and companies has resulted in a large and
efficient ecosystem and unheralded software innovation.
Over 1,000 developers, from at least 100 different companies, contribute to every kernel release.
In the past two years alone, over 3,200 developers from 200 companies have contributed to the
kernel--which is just one small piece of a Linux distribution.

2.2.1 The Birth of Linux

On August 25, 1991, a Finn computer science student named Linus Torvalds made the following
announcement to the Usenet group comp.os.minux:
"I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for
386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any

feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical

layout of the file-system (due to practical reasons) (among other things)."
The Minix Torvalds referred to is a variant of the UNIX operating system, used as a guideline
for his the free operating system he wanted to run on the x86-based consumer PCs of the day.
gnu refers to the set of GNU (GNU Is Not Unix) tools first put together by Richard Stallman in
1983. UNIX, the operating system that started it all, had its origins in the old Bell Labs back in
the early 60s.
Torvalds built the core of the Linux operating system, known as the kernel. A kernel alone does
not make an operating system, but Stallman's GNU tools were from a project to create an
operating system as well--a project that was missing a kernel to make Stallman's operating
system complete. Torvalds' matching of GNU tools with the Linux kernel marked the beginning
of the Linux operating system as it is known today.
Linux is in many ways still only at the beginning of its potential, even though it has enjoyed
tremendous success since Torvalds' first request for help in 1991.
Linux has gained strong popularity amongst UNIX developers, who like it for its portability to
many platforms, its similarity to UNIX, and its free software license. Around the turn of the
century, several commercial developers began to distribute Linux, including VA Linux,
TurboLinux, Mandrakelinux, Red Hat, and SuSE GMbH. IBM's 2000 decision to invest $2
billion in Linux development and sales was a significant positive event to the growth of Linux.
Today, Linux is a multi-billion dollar industry, with companies and governments around the
world taking advantage of the operating system's security and flexibility. Thousands of
companies use Linux for day-to-day use, attracted by the lower licensing and support costs.
Governments around the world are deploying Linux to save money and time, with some
governments commissioning their own versions of Linux.

2.1.2 The Kernel

All operating systems have kernels, built around the architectural metaphor that there must be a
central set of instructions to direct device hardware, surrounded by various modular layers of
functionality. The Linux kernel is unique and flexible because it is also modular in nature.
The kernel of the Window operating system (which few people outside of Microsoft are allowed
to look at without paying for the privilege) is a solidly connected piece of code, unable to be

easily broken up into pieces. It is difficult (if not impossible) to pare down the Windows kernel
to fit on a phone.
This modularity is significant to the success of Linux. The ability to scale down (or up) to meet
the needs of a specific platform is a big advantage over other operating systems constrained to
just a few possible platforms.
Modularity also effects stability and security as well. If one piece of the kernel code happens to
fail, the rest of the kernel will not crash. Similarly, an illicit attack on one part of the kernel (or
the rest of the operating system) might hamper that part of the code, but should not compromise
the security of the whole device.

2.1.3 The Operating System

Developers need special tools (like the compilers and command lines found in GNU) to write
applications that can talk to the kernel. They also need tools and applications to make it easy for
outside applications to access the kernel after the application is written and installed.
This collective set of tools, combined with a kernel, is known as the operating system. It is
generally the lowest layer of the computer's software that is accessible by the average user.
General users get to the operating system when they access the command line.
Linux provides powerful tools with which to write their applications: developer environments,
editors, and compilers are designed to take a developer's code and convert it to something that
can access the kernel and get tasks done.
Like the kernel, the Linux operating system is also modular. Developers can pick and choose the
operating tools to provide users and developers with a new flavor of Linux designed to meet
specific tasks.

2.1.4 The Environments

The windows, menus, and dialog boxes most people think of as part of the operating system are
actually separate layers, known as the windowing system and the desktop environment.
These layers provide the human-oriented graphical user interface (GUI) that enables users to
easily work with applications in the operating system and third-party applications to be installed
on the operating system.

In Linux, there a lot of choices for which windowing system and desktop environment can be
used, something that Linux allows users to decide. This cannot be done in Windows and it's
difficult to do in OS X.
Like the operating system and kernel, there are tools and code libraries available that let
application developers to more readily work with these environments (e.g., gtk+ for GNOME, Qt
for KDE).

2.1.5 Linux Features

Multitasking: several programs running at the same time.

Multiuser: several users on the same machine at the same time (and no two-user licenses!).

Multiplatform: runs on many different CPUs, not just Intel.

Multiprocessor: SMP support is available on the Intel and SPARC platforms (with work
currently in progress on other platforms), and Linux is used in several loosely-coupled MP
applications, including Beowulf systems and the Fujitsu AP1000+ SPARC-based

Multithreading: has native kernel support for multiple independent threads of control within a
single process memory space.

Runs in protected mode on the 386.

Has memory protection between processes, so that one program can't bring the whole system

Demand loads executable: Linux only reads from disk those parts of a program that are
actually used.

Shared copy-on-write pages among executables. This means that multiple process can use the
same memory to run in. When one tries to write to that memory, that page (4KB piece of
memory) is copied somewhere else. Copy-on-write has two benefits: increasing speed and
decreasing memory use.

Virtual memory using paging (not swapping whole processes) to disk: to a separate partition
or a file in the file system, or both, with the possibility of adding more swapping areas during
runtime (yes, they're still called swapping areas). A total of 16 of these 128 MB (2GB in
recent kernels) swapping areas can be used at the same time, for a theoretical total of 2 GB of

useable swap space. It is simple to increase this if necessary, by changing a few lines of
source code.

A unified memory pool for user programs and disk cache, so that all free memory can be
used for caching, and the cache can be reduced when running large programs.

Dynamically linked shared libraries (DLL's), and static libraries too, of course.

Does core dumps for post-mortem analysis, allowing the use of a debugger on a program not
only while it is running but also after it has crashed.

Mostly compatible with POSIX, System V, and BSD at the source level.

Through an iBCS2-compliant emulation module, mostly compatible with SCO, SVR3, and
SVR4 at the binary level.

All source code is available, including the whole kernel and all drivers, the development
tools and all user programs; also, all of it is freely distributable. Plenty of commercial
programs are being provided for Linux without source, but everything that has been free,
including the entire base operating system, is still free.

POSIX job control.

pseudo terminals (pty's).

387-emulation in the kernel so that programs don't need to do their own math emulation.
Every computer running Linux appears to have a math coprocessor. Of course, if your
computer already contains an FPU, it will be used instead of the emulation, and you can even
compile your own kernel with math emulation removed, for a small memory gain.

Support for many national or customized keyboards, and it is fairly easy to add new ones

Multiple virtual consoles: several independent login sessions through the console, you switch
by pressing a hot-key combination (not dependent on video hardware). These are
dynamically allocated; you can use up to 64.

Supports several common file systems, including minix, Xenix, and all the common system
V file systems, and has an advanced file system of its own, which offers file systems of up to
4 TB, and names up to 255 characters long.

Transparent access to MS-DOS partitions (or OS/2 FAT partitions) via a special file system:
you don't need any special commands to use the MS-DOS partition, it looks just like a
normal Unix file system (except for funny restrictions on filenames, permissions, and so on).

MS-DOS 6 compressed partitions do not work at this time without a patch (dmsdosfs).
VFAT (WNT, Windows 95) support and FAT-32 is available in Linux 2.0

Special file system called UMSDOS which allows Linux to be installed on a DOS file

read-only HPFS-2 support for OS/2 2.1

HFS (Macintosh) file system support is available separately as a module.

CD-ROM file system which reads all standard formats of CD-ROMs.

TCP/IP networking, including ftp, telnet, NFS, etc.

AppleTalk server

Netware client and server

Lan Manager/Windows Native (SMB) client and server

Many networking protocols: the base protocols available in the latest development kernels
include TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP (Appletalk), Netrom, and others. Stable
network protocols included in the stable kernels currently include TCP, IPv4, IPX, DDP, and

2.1.6 Hardware Issues

Minimal configuration
The following is probably the smallest possible configuration that Linux will work on:
386SX/16, 1 MB RAM, 1.44 MB or 1.2 MB floppy, any supported video card (+ keyboards,
monitors, and so on of course). This should allow you to boot and test whether it works at all on
the machine, but you won't be able to do anything useful. In order to do something, you will
want some hard disk space as well, 5 to 10 MB should suffice for a very minimal setup (with
only the most important commands and perhaps one or two small applications installed, like, say,
a terminal program). This is still very, very limited, and very uncomfortable, as it doesn't leave
enough room to do just about anything, unless your applications are quite limited. It's generally
not recommended for anything but testing if things work, and of course to be able to brag about
small resource requirements.
Usable configuration
If you are going to run computationally intensive programs, such as gcc, X, and TeX, you will
probably want a faster processor than a 386SX/16, but even that should suffice if you are patient.

In practice, you will want at least 4 MB of RAM if you don't use X, and 8 MB if you do. Also, if
you want to have several users at a time, or run several large programs (compilations for
example) at a time, you may want more than 4 MB of memory. It may still work with a smaller
amount of memory, but it will use virtual memory (using the hard drive as slow memory) and
that will be so slow as to be unusable. If you use many programs at the same time, 16 MB will
reduce swapping considerably. If you don't want to swap appreciably under normal load, 32 MB
will probably suffice for a single user. If you run lots of memory-intensive applications at once,
64 MB may be necessary to avoid lots of swapping. Of course, if you run memory-hungry
applications, you may want more.
Add more memory, more hard disk, a faster processor and other stuff depending on your needs,
wishes and budget to go beyond the merely usable. In general, one big difference from DOS is
that with Linux, adding memory makes a large difference, whereas with DOS, extra memory
doesn't make that much difference. This of course has something to do with DOS's 640KB limit,
which is completely nonexistent under Linux.
Supported hardware
Anything that runs 386 protected mode programs. All models of 386s 486s, Pentiums, Pentium
Pros, Pentium IIs, and clones of these chips should work. (286s and below may someday be
supported on a smaller kernel called ELKS (Embeddable Linux Kernel Subset), but don't expect
the same capabilities). A version for the 680x0 CPU (for x = 2 with external MMU, 3, 4, and 6)
which runs on Amigas and Ataris can be found at tsx-11.mit.edu in the 680x0 directory. Many
DEC Alphas, SPARCs, and PowerPC machines are supported. Ports are also being done to the
ARM, StrongARM, and MIPS architectures. More details are available elsewhere.
PCI, ISA, EISA, and VLB busses. MCA (mostly true blue PS/2s) support is incomplete but
improving (see above). Linux puts higher demands on hardware than DOS, Windows, and in fact
most operating systems. This means that some marginal hardware that doesn't fail when running
less demanding operating system may fail when running Linux. Linux is an excellent memory


Up to 1 GB on Intel; more on 64-bit platforms. Some people (including Linus) have noted that
adding ram without adding more cache at the same time has slowed down their machine
extremely, so if you add memory and find your machine slower, try adding more cache. Some
machines can only cache certain amounts of memory regardless of how much RAM is installed
(64 MB is the most one popular chipset can cache). Over 64 MB of memory will require a boottime parameter with kernels 2.0.35 and earlier, as the BIOS was originally designed to be unable
to report more than 64MB. Recent 2.1.x kernels and later are able to detect more memory in a
Data storage:
Generic AT drives (EIDE, IDE, 16 bit HD controllers with MFM or RLL, or ESDI) are
supported, as are SCSI hard disks and CD-ROMs, with a supported SCSI adaptor. Generic XT
controllers (8 bit controllers with MFM or RLL) are also supported. Supported SCSI adaptors:
Advansys, Adaptec 1542, 1522, 1740, 27xx, and 29xx (with some exceptions) series, Buslogic
MultiMaster and Flashpoint, NCR53c8xx-based controllers, DPT controllers, Qlogic ISP and
FAS controllers, Seagate ST-01 and ST-02, Future Domain TMC-88x series (or any board based
on the TMC950 chip) and TMC1660/1680, Ultrastor 14F, 24F and 34F, Western Digital
wd7000, and others. SCSI, QIC-02, and some QIC-80 tapes are also supported. Besides IDE and
SCSU cdroms, several proprietary CD-ROM devices are also supported, including
Matsushita/Panasonic, Mitsumi, Sony, Soundblaster, Toshiba, ATAPI (EIDE), SCSI, and others.
For exact models, check the hardware compatibility HOWTO. N.B. These lists are incomplete,
and always will be. Distribution vendors maintain more up-to-date lists.
VGA, EGA, CGA, or Hercules (and compatibles) work in text mode. For graphics and X, there
is support for (at least) normal VGA, some super-VGA cards (most of the cards based on Tseng,
Paradise, and some Trident chipsets), S3, 8514/A, ATI, Matrox, and Hercules. (Linux uses the
XFree86 X server, so that determines what cards are supported. A full list of supported chipsets
alone takes over a page.
Ethernet support includes 3COM 503/509/579/589/595/905 (501/505/507 are supported but not
recomended), AT&T GIS (ne NCR) WaveLAN, most WD8390-based cards, most WD80x313

based cards, NE1000/2000 and most clones, AC3200, Apricot 82596, AT1700, ATP,
DE425/434/435/500, D-Link DE-600/620, DEPCA, DE100/101, DE200/201/202 Turbo, DE210,
DE422, Cabletron E2100 (not recommended), Intel EtherExpress (not recommended),
EtherExpress Pro, EtherExpress 100, DEC EtherWORKS 3, HP LAN, HP PCLAN/plus, most
AMD LANCE-based cards, NI5210, ni6510, SMC Ultra, DEC 21040 (tulip), Zenith Z-Note
ethernet, All Zircom cards and all Cabletron cards other than the E2100 are unsupported, due to
the manufacturers unwillingness to release programming information freely.
FDDI support currently includes the DEFxx cards from DEC.
Point-to-Point networking support includes PPP, SLIP, CSLIP, and PLIP. PPP support is
available for both standard asynchronous devices like modems, and synchronous connections
like ISDN. Limited Token Ring support is available.
Most 16450 and 16550 UART-based boards, including AST Fourport, the Usenet Serial Card II,
and others. Intelligent boards supported include Cyclades Cyclom series (supported by the
manufacturer), Control Rocketport series (supported by the manufacturer), Stallion (most boards;
supported by the manufacturer), and Digi (some boards; supported by the manufacturer). Some
ISDN, frame relay, and leased line hardware is supported.

2.2 Project Outline

2.2.1 What is a Mail Server and How Does it Work?
A mail server (sometimes also referred to an e-mail server) is a server that handles and delivers
e-mail over a network, usually over the Internet. A mail server can receive e-mails from client
computers and deliver them to other mail servers. A mail server can also deliver e-mails to client
computers. A client computer is normally the computer where you read your e-mails, for
example your computer at home or in your office. Also an advanced mobile phone or
Smartphone, with e-mail capabilities, can be regarded as a client computer in these
With the click of a mouse button, you can send an email from one point of the globe to another
in a matter of seconds. Most of us take this process for granted, giving little thought to how it
actually works. It's easy to understand how standard snail-mail gets from point A to point B - but

how does an email message make its way from a sender to a recipient? The answer to that
question revolves around something called a mail server.
A mail server is the computerized equivalent of your friendly neighborhood mailman. Every
email that is sent passes through a series of mail servers along its way to its intended recipient.
Although it may seem like a message is sent instantly - zipping from one PC to another in the
blink of an eye - the reality is that a complex series of transfers takes place. Without this series of
mail servers, you would only be able to send emails to people whose email address domains
matched your own - i.e., you could only send messages from one example.com account to
another example.com account.

Fig 2.1: Mail server

How can my e-mail program (e-mail client) find right mail server on the Internet?
When you start your mail program for the first time, you must normally enter e-mail account
information before you can use the program. You must for example specify the name of a server
for outgoing e-mail and the name of a server for incoming e-mail. It is here you specify which
SMTP server and which POP3 server that your mail program will communicate with over the
Internet. The servers can be located anywhere on the Earth, but usually they are located in same
country as your client computer.
Can I use any mail server I want on the Internet?
No. The Internet service provider (ISP) that you use when you browse the Internet will normally
have mail servers that you can access for your e-mails (both incoming and outgoing e-mail) but
you can normally not access mail servers that other Internet service provider own. The reason for
this is that mail servers only accept certain IP addresses (the IP addresses that the ISPs provides)
and if your IP address is outside this range you will be denied access to the server.


There are exceptions, however. In some cases you can download e-mail from POP3 servers
provided by other ISPs. They will only check that your username and password is correct. And
there exists also standalone email servers on the Internet that works independently of Internet
service providers, and through them you can send and receive e-mails if you have access to the
username and password. Many web hosting services provide this kind of stand-alone mail










When you send an e-mail from your local computer to a mail server, your e-mail has just started
it's journey to your recipient. Perhaps your receiver is on the other side of the world, and then it's
a very long distance that the e-mail must travel before it arrives to your receivers computer.
Before the mail server that your e-mail program communicates with knows where to deliver the
e-mail message it will examine the e-mail address that you have specified as a receiver of the
message. The mail server will extract the domain name of the e-mail address and use it to locate
the mail server (POP3 server) that your receiver's client computer communicates with. The
domain name is found after the "@" character in an e-mail address. If for example the e-mail
address is john@abc.com, the domain name is abc.com. By using this domain name as an
address the mail server will find which mail server on the Internet to deliver the e-mail message
to. When the server has been identified and it has responded that it will accept an e-mail
delivery, the e-mail is sent to this server. And next time your receiver logs on to the POP3 server
via his/her client computer, your e-mail will be downloaded to the person's e-mail program.
Normally all this will take just a few seconds, but if the mail servers or Internet have a lot of
traffic at that moment it can take some more time.

2.1.2 The Process of Sending an Email

Now that you know the basics about incoming and outgoing mail servers, it will be easier to
understand the role that they play in the emailing process. The basic steps of this process are
outlined below for your convenience.
Step #1: After composing a message and hitting send, your email client - whether it's Outlook
Express or Gmail - connects to your domain's SMTP server. This server can be named many
things; a standard example would be smtp.example.com.


Step #2: Your email client communicates with the SMTP server, giving it your email address,
the recipient's email address, the message body and any attachments.
Step #3: The SMTP server processes the recipient's email address - especially its domain. If the
domain name is the same as the sender's, the message is routed directly over to the domain's
POP3 or IMAP server - no routing between servers is needed. If the domain is different, though,
the SMTP server will have to communicate with the other domain's server.
Step #4: In order to find the recipient's server, the sender's SMTP server has to communicate
with the DNS, or Domain Name Server. The DNS takes the recipient's email domain name and
translates it into an IP address. The sender's SMTP server cannot route an email properly with a
domain name alone; an IP address is a unique number that is assigned to every computer that is
connected to the Internet. By knowing this information, an outgoing mail server can perform its
work more efficiently.
Step #5: Now that the SMTP server has the recipient's IP address, it can connect to its SMTP
server. This isn't usually done directly, though; instead, the message is routed along a series of
unrelated SMTP servers until it arrives at its destination.
Step #6: The recipient's SMTP server scans the incoming message. If it recognizes the domain
and the user name, it forwards the message along to the domain's POP3 or IMAP server. From
there, it is placed in a sendmail queue until the recipient's email client allows it to be
downloaded. At that point, the message can be read by the recipient.


Fig 2.2: Working of Mail Server

2.3 System Analysis

2.3.1 SquirrelMail
SquirrelMail is a standards-based webmail package written in PHP. It includes built-in pure PHP
support for the IMAP and SMTP protocols, and all pages render in pure HTML 4.0 (with no
JavaScript required) for maximum compatibility across browsers. It has very few requirements
and is very easy to configure and install. SquirrelMail has all the functionality you would want
from an email client, including strong MIME support, address books, and folder manipulation.
SquirrelMail is a standards-based webmail package written in PHP. It includes built-in pure PHP
support for the IMAP and SMTP protocols, and all pages render in pure HTML 4.0 (with no
JavaScript required) for maximum compatibility across browsers. It has few requirements and is
easy to configure and install. SquirrelMail has all the functionality you would want from an
email client, including strong MIME support, address books, and folder manipulation.
This manual supports SquirrelMail 1.4.0 and up. The 1.2.x series has been obsoleted, and is only
referenced in the upgrading notes of this manual.
Fig 2.3: SquirrelMail

Fig 2.3: SquirrelMail

SquirrelMail is stable enough to use in a production system. It is, in fact, already used in several
production systems around the world, handling thousands of users per system. There might be
some bugs - no project is perfect - but they are most likely minimal. We test pretty thoroughly
before releasing a version marked as "stable".
Server requirements
There are only two requirements for SquirrelMail:

A web server with PHP installed. PHP needs to be at least 4.1.0. PHP 4, PHP 5 and PHP 6
are all supported.

Access to an IMAP server which supports IMAP 4 rev 1.

It doesn't really matter what OS or web server you use, as long as the combination thereof
supports PHP in a stable way. Read the instructions and suggestions in the PHP documentation
to see what they recommend.


If you're building your mail system from scratch, it might be a good idea to install and test all
components one by one. If you install everything at once and things don't work, the
troubleshooting will be more complex. If the web server doesn't work there's not much point in
trying to install PHP, for instance. Make sure that everything is working before trying to install
Client requirements

Cookies must be enabled in your browser.

It might be hard to use SquirrelMail on a display smaller then 15" and with less resolution
than 1024 x 768, and some customizations are required to make it usable.

2.3.2 YUM Server

YUM (Yellow-dog Updater and Modifier) is another and advanced way of installing the
packages in Linux distros such as Red-hat, Fedora and Cent OS.
In RHEL 6 installing packages is a tedious process, sometimes its headache to install all the
dependencies. So Red-hat come with a solution to overcome this dependencies problem in most
situations, the solution for this is nothing but YUM implementation. This will resolve this
dependency issue and other known issues. Here we are going to present some basic way how to
use YUM utility to install packages locally (there are so many ways to install packages from
different sources either local or remote such as ftp, http).

2.3.3 DHCP Server

DHCP is useful for automatic configuration of client network interfaces. When configuring the
client system, you can choose DHCP instead of specifying an IP address, netmask, gateway, or
DNS servers. The client retrieves this information from the DHCP server. DHCP is also useful if
you want to change the IP addresses of a large number of systems. Instead of reconfiguring all
the systems, you can just edit one configuration file on the server for the new set of IP addresses.
If the DNS servers for an organization changes, the changes happen on the DHCP server, not on
the DHCP clients. When you restart the network or reboot the clients, the changes go into effect.

Benefits of DHCP
In Windows Server 2003, the DHCP Server service provides the following benefits:

Reliable IP address configuration. DHCP minimizes configuration errors caused by

manual IP address configuration, such as typographical errors, or address conflicts caused by
the assignment of an IP address to more than one computer at the same time.

Reduced network administration. DHCP includes the following features to reduce network

Centralized and automated TCP/IP configuration.

The ability to define TCP/IP configurations from a central location.

The ability to assign a full range of additional TCP/IP configuration values by means of
DHCP options.

The efficient handling of IP address changes for clients that must be updated frequently,
such as those for portable computers that move to different locations on a wireless

The forwarding of initial DHCP messages by using a DHCP relay agent, thus
eliminating the need to have a DHCP server on every subnet.

Why use DHCP

Every device on a TCP/IP-based network must have a unique unicast IP address to access the
network and its resources. Without DHCP, IP addresses must be configured manually for new
computers or computers that are moved from one subnet to another, and manually reclaimed for
computers that are removed from the network.
DHCP enables this entire process to be automated and managed centrally. The DHCP server
maintains a pool of IP addresses and leases an address to any DHCP-enabled client when it starts
up on the network. Because the IP addresses are dynamic (leased) rather than static (permanently
assigned), addresses no longer in use are automatically returned to the pool for reallocation.
The network administrator establishes DHCP servers that maintain TCP/IP configuration
information and provide address configuration to DHCP-enabled clients in the form of a lease
offer. The DHCP server stores the configuration information in a database, which includes:

Valid TCP/IP configuration parameters for all clients on the network.

Valid IP addresses, maintained in a pool for assignment to clients, as well as excluded


Reserved IP addresses associated with particular DHCP clients. This allows consistent
assignment of a single IP address to a single DHCP client.

The lease duration, or the length of time for which the IP address can be used before a lease
renewal is required.

A DHCP-enabled client, upon accepting a lease offer, receives:

A valid IP address for the subnet to which it is connecting.

Requested DHCP options, which are additional parameters that a DHCP server is configured
to assign to clients. Some examples of DHCP options are Router (default gateway), DNS
Servers, and DNS Domain Name.

How DHCP Works

DHCP provides an automated way to distribute and update IP addresses and other configuration
information on a network. A DHCP server provides this information to a DHCP client through
the exchange of a series of messages, known as the DHCP conversation or the DHCP
transaction. If the DHCP server and DHCP clients are located on different subnets, a DHCP
relay agent is used to facilitate the conversation.

Fig 2.4: Working of DHCP

DHCP Server Responsibilities

The DHCP servers maintain scopes, reservations, and options as set by the administrator.


A scope must be properly defined and activated before DHCP clients can use the DHCP server
for automatic TCP/IP configuration. A DHCP scope is an administrative collection of IP
addresses and TCP/IP configuration parameters that are available for lease to DHCP clients of a
specific subnet. The network administrator creates a scope for each subnet.
A scope has the following properties:

A scope name, assigned when the scope is created.

A range of possible IP addresses from which to include or exclude addresses used in DHCP
lease offers.

A unique subnet mask, which determines the network ID for an IP address in the scope.

Lease duration values.

Each DHCP scope can have a single continuous range of IP addresses. To use several address
ranges within a single scope you must first define the entire address range for the scope, and then
set exclusion ranges.
Interactions between Client and Server
DHCP servers and DHCP clients communicate through a series of DHCP messages. To obtain a
lease, the DHCP client initiates a conversation with a DHCP server using a series of these DHCP
DHCP Messages
The following list includes the eight types of messages that can be sent between DHCP clients
and servers.
Broadcast by a DHCP client when it first attempts to connect to the network. The
DHCPDiscover message requests IP address information from a DHCP server.
Broadcast by each DHCP server that receives the client DHCPDiscover message and has an IP
address configuration to offer to the client. The DHCPOffer message contains an unleased IP
address and additional TCP/IP configuration information, such as the subnet mask and default
gateway. More than one DHCP server can respond with a DHCPOffer message. The client
accepts the best offer, which for a Windows DHCP client is the first DHCPOffer message that it

Broadcast by a DHCP client after it selects a DHCPOffer. The DHCPRequest message contains
the IP address from the DHCPOffer that it selected. If the client is renewing or rebinding to a
previous lease, this packet might be unicast directly to the server.
Broadcast by a DHCP server to a DHCP client acknowledging the DHCPRequest message. At
this time, the server also forwards any options. Upon receipt of the DHCPAck, the client can use
the leased IP address to participate in the TCP/IP network and complete its system startup. This
message is typically broadcast, because the DHCP client does not officially have an IP address
that it can use at this point. If the DHCPAck is in response to a DHCPInform, then the message
is unicast directly to the host that sent the DHCPInform message.

Fig 2.5: Messages in DHCP

2.3.4 DNS Server

DNS (Domain Name System), also known as a nameserver, is a network system that associates
hostnames with their respective IP addresses. For users, this has the advantage that they can refer
to machines on the network by names that are usually easier to remember than the numerical
network addresses. For system administrators, using the nameserver allows them to change the

IP address for a host without ever affecting the name-based queries, or to decide which machines
handle these queries.

Fig 2.6: DNS in TCP/IP

DNS Server Functions

You can set up a DNS server for several different reasons:

Internet Domain Support: If you have a domain name and you're operating Web, e-mail,
FTP, or other Internet servers, you'll use a DNS server ro respond to resolution queries so
others can find and access your server(s). This is a serious undertaking and you'd have to set
up a minimum of two of them. On this page we'll refer to these types of DNS servers as
authoritative DNS servers for reasons you'll see later. However, there are alternatives to
having your own authoritative DNS server if you have (or want to have) your own domain
name. You can have someone else host your DNS records for you. Even if someone else is
taking care of your domain's DNS records you could still set up one of the following types
of DNS servers.

Local Name Resolution: Similar to the above scenario, this type of DNS server would
resolve the hostnames of systems on your LAN. Typically in this scenario there is one DNS
server and it does both jobs. The first being that it receives queries from workstations and
the second being that it serves as the authoritative source for the responses (this will be more
clear as we progress). Having this type of DNS server would eliminate the need to have (and
manually update) a HOSTS file on each system on your LAN. On this page we'll refer to
these as LAN DNS servers.


During the Debian installation you are asked to supply a domain name. This is an internal
(private) domain name which is not visible to the outside world so, like the private IP
address ranges you use on a LAN, it doesn't have to be registered with anyone. A LAN DNS
server would be authoritative for this internal, private domain. For security reasons, the
name for this internal domain should not be the same as any public domain name you have
registered. Private domain names are not restricted to using one of the established public
TLD (Top Level Domain) names such as .com or .net. You could use .corp or .inc or
anything else for your TLD. Since a single DNS server can be authoritative for multiple
domains, you could use the same DNS server for both your public and private domains.
However, the server would need to be accessible from both the Internet and the LAN so
you'd need to locate it in a DMZ. Though you want to use different public and private
domain names, you can use the same name for the second-level domain. For example, mydomain.com for the public name and my-domain.inc for the private name.
Internet Name Resolution: LAN workstations and other desktop PCs need to send Internet

domain name resolution queries to a DNS server. The DNS server most often used for this is
the ISP's DNS servers. These are often the DNS servers you specify in your TCP/IP
configuration. You can have your own DNS server respond to these resolution queries
instead of using your ISP's DNS servers. My ISP recently had a problem where they would
intermittently lose connectivity to the network segment that their DNS servers were
connected to so they couldn't be contacted. It took me about 30 seconds to turn one of my
Debian systems into this type of DNS server and I was surfing with no problems. On this
page we'll refer to these as simple DNS servers. If a simple DNS server fails, you could just
switch back to using your ISP's DNS servers. As a matter of fact, given that you typically
specify two DNS servers in the TCP/IP configuration of most desktop PCs, you could have
one of your ISP's DNS servers listed as the second (fallback) entry and you'd never miss a
beat if your simple DNS server did go down. Turning your Debian system into a simple
DNS server is simply a matter of entering a single command.

DNS Basics
Finding a single server out of all of the servers on the Internet is like trying to find a single file
on drive with thousands of files. In both cases it helps to have some hierarchy built into the

directory to logically group things. The DNS "namespace" is hierarchical in the same type of
upside-down tree structure seen with file systems. Just as you have the root of a partition or
drive, the DNS namespace has a root which is signified by a period.

Fig 2.7: Working of DNS


2.3.5 Postfix and Dovecot

Postfix is a Mail Transport Agent (MTA), supporting LDAP, SMTP AUTH (SASL), TLS and
running in a chroot environment. Postfix is Wietse Venema's mailer that started life as an
alternative to the widely-used Sendmail program. Postfix attempts to be fast, easy to administer,
and secure, while at the same time being sendmail compatible enough to not upset existing users.
Thus, the outside has a sendmail-ish flavor, but the inside is completely different. This software
was formerly known as VMailer. It was released by the end of 1998 as the IBM Secure Mailer.
From then on it has lived on as Postfix. This rpm supports LDAP, SMTP AUTH (trough cyrussasl) and TLS.
Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like systems, written
with security primarily in mind. Dovecot is an excellent choice for both small and large
installations. It's fast, simple to set up, requires no special administration and it uses very little
Some of the most notable features of Dovecot include:

Dovecot is among the highest performing IMAP servers while still supporting the standard
mbox and Maildir formats. The mailboxes are transparently indexed, which gives Dovecot its
good performance while still providing full compatibility with existing mailbox handling

Dovecot is standards compliant. Dovecot v1.1 passes all IMAP server standard compliancy
tests while most other servers fail many of them.

Dovecot's indexes are self-optimizing. They contain exactly what the user's client commonly
needs, no more and no less.

Dovecot is self-healing. It tries to fix most of the problems it notices by itself, such as broken
index files. The problems are however logged so the administrator can later try to figure out
what caused them.

Dovecot tries to be admin-friendly. Common error messages are made as easily

understandable as possible. Any crash, no matter how it happened, is considered a bug that
will be fixed.


Dovecot allows mailboxes and their indexes to be modified by multiple computers at the
same time, while still performing well. This means that Dovecot works well with clustered
filesystems. NFS has caching problems, but you can work around them with director proxies.

Dovecot's user authentication is extremely flexible and feature-rich, supporting many

different authentication databases and mechanisms.

Postfix 2.3+ and Exim 4.64+ users can do SMTP authentication directly against Dovecot's
authentication backend without having to configure it separately.

Dovecot supports easy migration from many existing IMAP and POP3 servers, allowing the
change to be transparent to existing users.

Dovecot supports workarounds for several bugs in IMAP and POP3 clients. Since the
workarounds may cause the protocol exchange to be suboptimal, you can enable only the
workarounds you need.

Dovecot's design and implementation is highly focused on security. Rather than taking the
traditional road of just fixing vulnerabilities whenever someone happens to report them, I
offer 1000 EUR of my own money to the first person to find a security hole from Dovecot.

Dovecot is easily extensible. Plugins can add new commands, modify existing behavior, add
their own data into index files or even add support for new mailbox formats. For example
quota and ACL support are completely implemented as plugins.

Fig 2.8: Postfix and Dovecot


2.4 About webmail

Webmail applications enable you to check your e-mail accounts by using your web browser.
You can compose and read e-mail messages, maintain an address book, and perform other
common tasks. Third-party e-mail client applications, such as Thunderbird and Microsoft
Outlook Express, generally provide more features than webmail applications, but also require
more initial configuration.
2.4.1 How to access webmail
Accessing webmail is as easy as using your web browser to visit a URL, and then entering your
account name and password:
1. Use your web browser to go to https://www.example.com:2096, where example.com is your
domain name. You should always use a URL that starts with https:// (the HTTP Secure
protocol). This minimizes the possibility of someone intercepting the account's login
credentials or reading messages.
If you try to access webmail from behind a firewall that blocks port 2096, the previous URL
will not work. Instead, you can use one of the following URLs:
o https://www.example.com/webmail
o https://webmail.example.com

However, for shared hosting accounts, your browser will display a warning message that the
certificate does not match the domain name. As long as the certificate is from a2hosting.com
(which it should be), you can disregard this warning.
2. The webmail login page appears
3. In the Email Address text box, type the e-mail address for the account you want to access.
4. In the Password text box, type the password for the e-mail account.
5. Click Log in.
6. Select the webmail application that you want to use. You can click Enable AutoLoad and
webmail will load the selected application automatically the next time you log in.

2.4.2 Features of webmail

Drag & drop messages into folders

Virtual message lists that don't require page selection


Auto-complete for addressing

Keyboard shortcuts

Right click items for actions (e.g. rename, mark as unread)

Save message as draft

Read receipts

New message notification

Quota usage display

Compose/view messages in separate windows

Select the page that is displayed on log-in

Support for various e-mail character sets

Multi-lingual (English, French, German, Italian, Spanish)

Print messages

View message headers

Change passwords

View HTML e-mails

Compose HTML e-mail messages

Auto Signature

Sub folders

Search by subject, content and sender

Bottom and right side preview mode

View images attached to a message in a slideshow

Download source of message

Personal Contacts

Personal Calendar

Contact Groups


Mailbox redirection

POP Retrieval

Spell-checker (multi-lingual)


Mailbox level spam rules

Add Recipients as New Contacts After Sending

Export Contacts

Send Contact as vCard Attachment

Spell Check Before Send

Mailbox, Calendar and Contact sharing

Edit own directory details from within webmail

Configure webmail layout per domain

Configure webmail skin per domain

2.4.3 ER diagram
An entity-relationship (ER) diagram is a specialized graphic that illustrates the
relationships between entities in a database. ER diagrams often use symbols to
represent three different types of information. Boxes are commonly used to represent
entities. Diamonds are normally used to represent relationships and ovals are used to
represent attributes. Entity relationship diagram are also known as E-R Diagram, entityrelationship model. There are the three basic elements in E-R diagram:

Entities are the things about which we can see the information.

Attributes are the data that we collect about the entities

Relationships provides the structure needed to draw information from multiple



Fig 2.9: ER diagram symbols







Sent Box
Fig 2.10: ER diagram


2.4.4 Data Flow Diagram

A data-flow diagram (DFD) is a graphical representation of the "flow" of data through an
information system. DFDs can also be used for the visualization of data processing (structured
A DFD provides no information about the timing or ordering of processes, or about whether
processes will operate in sequence or in parallel. When it comes to conveying how information
data flows through systems (and how that data is transformed in the process), data flow
diagrams (DFDs) are the method of choice over technical descriptions for three principal
(1) DFDs are easier to understand by technical and nontechnical audiences.
(2) DFDs can provide a high level system overview, complete with boundaries and
connections to other systems.
(3) DFDs can provide a detailed representation of system components.

External entity
User Application boundary




WebMail server

Fig 2.11: DFD


2.4.5 Setting preferences

From any Squirrel Mail window, you can select "Options" at the top of the screen, to review
or edit your user preferences.
Options available are:

Personal information

Message highlighting

Index order

Display preferences

Folder preferences

Personal information
Name and Address Options (all fields are optional)
Full Name: Enter your name. This will be used to identify you in outgoing email.
Email Address: Enter your email address. Email you send will show this address in the
FROM: line.
Reply To: Enter the email address you would like people to reply to. Most email clients will
use this email address instead of the "From" address when replying to mail you send.
Signature: If you would like to include a short message or "signature" at the bottom of your
emails, you can type it here.
Multiple Identities: If you like to have multiple email addresses, signatures or names, you can
enter them here, or select an already created identity.
Your Current Timezone: Email usually includes a timestamp that tells the receiver when you
sent it. If you select your timezone here, the timestamp will be more accurate. If not, the
server's time zone is used.
Display Preferences
General Display Options
Theme: Different color schemes are available. Themes with "(Changes)" after their name
may have a different color each time you log in.
Custom Stylesheet: Select a stylesheet to use a different size font. The administrator may
install special style sheets that further modify appearance.
Language: Select a different language to allow the reading and writing of emails in that
language. For example, to have Japanese emails display properly, one must set this to

Use JavaScript
Autodetect: Detect if the web browser supports JavaScript
Always: Assume that JavaScript is supported
Never: Use plain HTML
Mailbox Display Options
Number of Messages to Index: The number of message to show per page.
Enable Alternating Row Colors: Show every other message with a different color.
Enable Page Selector: Show page numbers that let you go straight to a specific page.
Maximum Number of Pages to Show: How many page numbers to show. If there are too
many pages then they will be split like this: 1 2 3 4 5 6 7 ... 17 18 19 20.
Message highlighting
From almost any window, select "Options" from the menu at top. From the resulting page,
select "Message Highlighting". (Windows style: Select Options -> Message Highlighting)
From this window, you can do these things:
Create a new highlight: Choose a scheme for highlighting messages that match a particular
pattern (see below).
1. Choose: Options -> Message Highlighting
2. Choose: New
3. Assign a name to your new highlight style
4. Select a color for your highlight style
5. Select a criterion for the highlighted message. The criterion matches, if the string is
contained within the specified field. E.g. highlighting all messages coming from domain
"foo.bar" would be done by selecting "from" within the combobox and then type
"@foo.bar" into the pattern field. The match is case-insensitive, and will match a header
containing the search string anywhere within it - but no wild cards or regular
Edit an existing highlight: Make changes to a given highlight style.
Delete an existing hightlight: Remove an existing highlight style from the set.
Attachment compatibility and size
SquirrelMail sends your attachments in the industry standard MIME format. However, this

does nothing to ensure that the person you are sending the file to can read the type of file you
are sending. For example, if the file you are sending is a Micorosoft Word 2000 document,
and the recipient does not have a program that can open Microsoft Word 2000 documents,
the receipient will not be able to view your attachment.
We recommend sending word processing documents in Rich Text Format, spreadsheets in
Comma Separated Values (CSV) format, and images in either JPEG or PNG unless you are
absolutely sure that the person on the other end has the appropriate software to handle your
You should also be mindful of the size in Kilobytes of your attachments. Images, and word
processing documents with images in them can get deceptively large. The size of each of
your attachments is listed in parenthesis by its name at the bottom of the compose screen.
When the recipient receives your message, their email program will attempt to download the
message from the mail server to their computer. If you have a message with attachments
totalling 1 megabyte (1,024 kilobytes), then the message will take about 8 minutes to transfer
over a 56Kb modem. Since many email programs do not appear to be doing anything when
downloading large messages, your receipient may think that their computer has crashed while
it is downloading your message! Then they may restart their computer and try all over again
with the same results.
Because of this potential situation, you may want to warn the recipient ahead of time, either
via a phone call or a smaller email sent ahead of time, if you intend to send them a large




This project i.e. WebMail is a user friendly mail service like gmail, yahoo, rediff etc. In this mail
server a user will login with their respective username and password, In this project I have made
users having their roll number as the username and redhat as the password. User can change their
respective passwords after logging in their account. Once logged in, user can send a mail to other
user by composing a mail and can also add an attachment to the mail. Then after clicking send
button, the user can see the mail in their sent mail box and the mails that are received by them is
shown in inbox that is the home page when the user log in to the account. While composing a
mail if user clicks cancel button then the mail gets saved in the drafts folder. In this mailing
system, we can add contacts by entering their nickname and their respective email id. In this
project the email ids are in format 8512148@jmietimail.com where 3611148 is the roll number
of the user.
The user can also change the skin or you can say background color of the users account. The
user can change his/her password but remember the password must be of critical form and
greater than or equal to 8 characters. The user can also make folders for the mails related to some
person or group.
And I have also added message of the day at the top of the home screen which says Welcome
back. Happy mailing. .And a user can also search any mail in the inbox and can also delete any
mail. And if any mail is found spam then it is sent to trash folder. This project is not a live
project because I have not any working server which will be on all the time and also I have not
bought any domain name, so the users can send mail to only jmietimail.com users, not to any
other mail server like Gmail users because doing this will result in blocking our mail server
because it is not registered.


Fig 3.1: Entering the URL

Description: In the address bar type the address //http://jmietimail.com/webmail. The

jmietimail.com is the address that will be used by the users for their email id also. And
webmail is the specified path for the mailing system. The mail server here is http not https.


Fig 3.2: Login Page

Description: This page is the login page where the user will enter the username and password
for their respective account. Here username is the roll number of the students of the CSE
final year and password is initially red hat which can be changed after logging in. clicking
on the login button will redirect user to the inbox of the users account.


Fig 3.3: Inbox

Description: This page is the welcome page and inbox also. Here we can see two mails in the
inbox which is from the root that is the server of this mail server. The mails are the welcome
mail that is sent to every user. We can delete any mail or mark mail as read or unread. We
can move to any other folder by the use of dropdown list. We can also forward any mail.


Fig 3.4: Compose mail

Description: This page shows that a mail is composed to 8512160@jmietimail.com with subject
as pictures and message as Hi Shivani, This is test mail. I have attached the pics of
yesterdays function.. We can add Cc and Bcc field also and check the spellings also.


Fig 3.5: Add addresses

Description: This page shows that a new contact is being added with a nickname and their
email address. Fill the contacts first and last name and if want additional information can also
be filled like phone number, address etc.


Fig 3.6: Create folder

Description: This page shows that a new folder named Study Material is being added and
we can create subfolders or rename a folder or delete a folder. Check the let this folder
contain subfolders and then the user can create a sub folder also.


Fig 3.7: Options available

Description: This page shows the options that can be performed. A user can edit his/her
personal information, message highlighting, ordering the index, spellchecker options,
changing the display preferences, folder preferences, changing password and new mail


Fig 3.8: Editing personal information

Description: This option allows the user to edit the personal information about them like full
name, email address, reply to, signature, current time zone, reply citation style, user defined
citation style and many more.


Fig 3.9: Index order

Description: This page shows that we can index the order of inbox according to your needs.
The user can up, down or remove the Checkboxes, from option, Date option, flags and can
shift up and down only the Subject option because Subject option cannot be deleted.


Fig 3.10: Spell Check

Description: This page shows that we can edit our personal dictionary according to our
needs. And the personal dictionary encryption options are not available. This is the
squirrelspell options menu.


Fig 3.12: Display preferences

Description: This shows that we can change the display options like background color.

Fig 3.13: Folder Preferences

Description: This page shows that we can change the folder preferences by giving the folder
path and then setting the trash, draft and sent folder. Then we have folder list options.


Fig 3.14: Change Password

Description: This page shows that the user can change its password by first entering the old
password and then entering the new password and then verifying the new password. But the
user must ensure that the new password must be critical and should have 8 or greater than 8


Fig 3.15: Sign Out

Description: This is the sign out page. By clicking on the click here to log in back
hyperlink, the user will get back to login page.




4.1. Future Scope

Development of new features and enhancements is concentrated on the development product,
which, in time, will itself become the stable product. The new webmail will outlines some of the
features slated for the next developmental release, including:

A templating system

A RPC interface for use by other applications as well as AJAX-enabled SquirrelMail

template sets (skins)

A new initialization system

Faster login times due to improved message header caching

Security enhancements, such as HTTP Only cookies

Improved usability/accessibility

4.2. Conclusion
Using the Linux package and repository structure as a model, we created a more generic
system to include other operating systems. This is accomplished by adding additional
attributes to what typically denes a Linux package.
We are also able to make downloads more resilient through the network oriented design of
the repository information.
Using this new mail server we created clients that are able to use the mail server and send
and receive mails from other clients.


~]# vim /etc/yum.repos.d/client.repo
~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
:wq (save and exit)
~] #service network restart
~] #chkconfig network on
~] #yum install postfix
~] #vim /etc/postfix/main.cf
myhostname = rishabh.jmietimail.com
mydomain = jmietimail.com
myorigin = $mydomain
inet_interface = all
~] #service postfix restart
~] #chkconfig postfix on
~] #yum install dovecot
~] #vim /etc/dovecot/dovecot.conf
protocols = imap
~] #vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
~] #vim /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u
~] #yum install bind
~] #vim /etc/named.conf
listen-on port 53 {; serverIP; };

allow-query { localhost;; };

~] #vim /etc/named.rfc1912.zones
zone "example.com" IN {
type master;
file "forward.zone";
zone "0.168.192.in-addr.arpa" IN {
type master;
file "reverse.zone";
~] #vim /var/named/forward.zone

IN SOA Rishabh.jmietimail.com.



; refresh


; retry


; expire


; minimum





root@rishabh.jmietimail.com. (

~] #vim /var/named/reverse.zone

IN SOA rishabh.jmietimail.com.


root@rishabh.jmietimail.com. (



; refresh


; retry


; expire


; minimum









~] #named-checkzone mail.com forward.zone

~] #service named restart
~] #nslookup mail.com
~] #yum localinstall squirrelmail php-mbstring
~] #/usr/share/squirrelmail/config/conf.pl
~] #vim /etc/httpd/conf.d/squirrelmail.conf
~] #service httpd restart
~] #service dovecot restart
~] #service postfix restart
~] #getsebool a |grep httpd
~] #setsebool P httpd_can_network-connect_db on
~] #setsebool P httpd_can_network_connect on


The following books are being used to fulfill the requirements of the proposed project and are
helpful in the understanding, development and the maintenance of the project:
1. Books

The Linux Command Line: A Complete Introduction by William E. Shotts Jr.

A Practical Guide to Linux Commands, Editors, and Shell Programming (3rd Edition) by
Mark G. Sobell

Linux Bible by Christopher Negus and Christine Bresnahan

2. URL



RED HAT portal