Basics of Mail Exchanging
E-Mail:
You can send message from one
computer to another computer using electronic-mail around the world. E-mail is
more powerful and more usable tools in today’s world. This E-mail is transfer
via into the computer and the computer network. There are many Server are used
to exchange these e-mail among the computer to computer and the one network to
different network. The mail server is responsible or used to exchange this mail
that means a mail server receive or store an e-mail message from client and deliver
it to the other client. In this tutorial you will show that how an e-mail
message is transfer from sender to receiver and you will also know that what
happen during the time of exchanging the mail.
How
a Mail Server Works:
Before we begin to configure the
Linux Mail Server we need to understand that how an E-Mail system is work. An
E-mail system is build-up some element which is described below:
Mail User Agent (MUA)
It works in user machine which is
directly run by a user. This is used to compose e-mail message and send it to
mail server or receive the mail message from server. It Just an application,
such as Outlook, Thunderbird, Pine (used in Linux).
Mail Transfer Agent (MTA)
Mail Transfer Agent is used to
transfer message between the machines. After receiving the mail from MUA, Mail
Transfer Agent starts its work. In Red Hat Linux the default Mail Transfer
Agent is Sendmail or you can also
use Postfix to more secure your mail
server. In Unix the MTA is qmail. When
an email is sent, the message is routed from server to server, all the way to
the recipient's email server. After receiving
the mail from MUA, MTA read the receiver address from the header part of the
mail and find out the receiver server IP address, then MTA try to communicate with
the 25 No Port of Server IPs of receiver . If the sender server MTA could
establish the connection with receiver server MTA then sender server handover
the mail of receiver server MTA using the Simple Mail Transfer Protocol (SMTP).
Mail Delivery Agent (MDA)
MDA/LDA is Mail Delivery Agent or
Local Delivery Agent. Both are essentially synonymous. (Actually there are
subtle differences between the two). MDA
receive the message from Mail Transfer Agent and lace into the user mailbox. In
Red Hat Linux MDA/LDA is procmail.
Simple Mail Transfer Protocol (SMTP)
The
SMTP is responsible for transferring the mail message from one MTA to another
MTA. That means this is used to transfer mail between the computers in network.
It can transfer only ASCII text. It can’t handle font, color, graphics, or
attachment with messages. For this you can use MIME (Multi-purpose Internet Mail Extensions or Multimedia Internet Mail Extensions). It’s an encoding
protocol like BinHex in Mac and UUEncode in UNIX. That support font, color,
graphics, or attachment. At first it was
used as a way of sending more than just text via email. Later the protocol was
extended to manage file typing by Web servers. MUAs and MTAs use this protocol
for sending e-mails.
Post
Office Protocol (POP3)
POP3
stands for a Post Office Protocol version 3. POP3 is a client/server protocol.
The POP3 protocol is designed to allow the users to retrieve e-mail messages
when they are connected to the email server (via Internet, Ethernet or VPN
network connection). Once the email messages are downloaded from the server
they can be modified, read and manipulated offline. MUAs can use this protocol
to sen and receive e-mails from the server.
Internet
Message Access Protocol (IMAP)
The
IMAP (Internet Message Access Protocol) is a newer and modern alternative to
the POP3 protocol. Unlike POP3, the IMAP allows the users to work with their
messages in both online and offline modes. The IMAP-capable email client
programs retrieve the messages' headers from the server and can store local
copies of the messages in a local (temporary) cache. All the messages are left
on the server until they are deleted by the user. This mechanism allows
multiple email clients to access a single mailbox and is often used for
corporate / business e-mails. MUAs can use this protocol to send and receive
e-mails on the server.
Mail-Boxes
(Inbox)
A
mail-box is container or directory of files, where incoming messages are
stored.
Server Configure
In
this tutorial you will see that how to configure mail server in a sub domain
DNS server named mail.mydomain.com
who’s FQDN is ns3.mail.mydomain.com
that I have already created. You can also configure the mail server under your
main DNS domain that will describe later. So let’s start.
Package required for mail
server:
Server Side Packages
|
Package
Name
|
Description
|
|
Sendmail
|
Default MTA In
Red Hat/Fedora Linux
|
|
m4
|
Known as a Macro Processor, used to create sendmail.cf
file
|
|
Postfix
|
Another MTA In Linux, used to Exchange secure e-mail
|
|
Dovecot
|
A Package for
Accessing the mailbox
|
|
POP3
|
It’s a Protocol to retrieve the e-mail messages from
server
|
|
IMAP
|
It’s an alternative Protocol of POP3
|
|
SMTP
|
Used to transfer e-mail message from one MTA to another
MTA
|
|
Squirrelmail
|
A Web Mail Configuration Tool
|
|
Php
|
It’s a scripting
language for web development to produce dynamic web pages
|
|
Mysql
|
The most popular
Open Source SQL database management system
|
|
System-switch-mail
|
Graphical Tools for Mail Transport Agent Switcher
|
Client
Side Software
|
Software
|
Description
|
|
Outlook
Express
|
POP3- and
IMAP-compatible mail client with a built-in newsreader.
|
|
Thunderbird
|
It’s a graphical
email client and newsreader developed by the Mozilla Foundation.
|
|
Pine
|
It’s an
application for sending and receiving email in Linux/Unix
|
|
Mozilla
Firefox, Internet Explorer, Opera, Safari, Or Any Suitable Browser.
|
Will be used to access mailbox using webmail.
|
Required configuration
file for sendmail:
Sendmail
is the default Mail Transfer
Agent (MTA) in FreeBSD. sendmail's
job is to accept mail from Mail User Agents (MUA) and deliver it to the appropriate
mailer as defined by its configuration file. sendmail can also accept
network connections and deliver mail to local mailboxes or deliver it to
another program.
sendmail uses the following configuration files:
File
Name Function
/etc/mail/access sendmail
access database file
/etc/mail/aliases Mailbox aliases
/etc/mail/local-host-names Lists of hosts sendmail accepts
mail for
/etc/mail/mailer.conf Mailer program configuration
/etc/mail/mailertable Mailer delivery table
/etc/mail/sendmail.cf sendmail master configuration file
/etc/mail/virtusertable Virtual users and domain tables