Basics of Mail Exchanging
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 isSendmail 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.
A mail-box is container or directory of files, where incoming messages are stored.
In this tutorial you will see that how to configure mail server in a sub domain DNS server namedmail.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
Default MTA In Red Hat/Fedora Linux
Known as a Macro Processor, used to create sendmail.cf file
Another MTA In Linux, used to Exchange secure e-mail
A Package for Accessing the mailbox
It’s a Protocol to retrieve the e-mail messages from server
It’s an alternative Protocol of POP3
Used to transfer e-mail message from one MTA to another MTA
A Web Mail Configuration Tool
It’s a scripting language for web development to produce dynamic web pages
The most popular Open Source SQL database management system
Graphical Tools for Mail Transport Agent Switcher
Client Side Software
POP3- and IMAP-compatible mail client with a built-in newsreader.
It’s a graphical email client and newsreader developed by the Mozilla Foundation.
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