Welcome to Linux Forums! With a comprehensive Linux Forum, information on various types of Linux software and many Linux Reviews articles, we have all the knowledge you need a click away, or accessible via our knowledgeable members.
Find the answer to your Linux question:
Site Navigation
Linux Forums
Linux Articles
Product Showcase
Linux Downloads
Linux Hosting
Free Magazines
Job Board
IRC Chat
RSS Feeds
Free Publications

E-mail is the most popular application on the Internet today. Closely followed by search. This article aims to take a high level view of the various components that go into making e-mail work for you.

For non technical people, e-mail and instant messaging are the window to the Internet. Give them an e-mail client, even a web based interface and they will marvel at the ability to interact with anyone on this planet.

Today's e-mail clients come with support for various non textual modes of communication. You can send any binary data as attachment including mp3 songs, movies, pdf documents and so on. But text remains as the primary means of communicating with each other.

In fact most mailing lists do not even support html mails. It is only plaintext and that too wrapped at 72 characters. Mailing lists are a separate topic in itself and auto-generated mails and robots that respond to mails form part of sophisticated mail solutions.

Let us begin by taking a look at this diagram.

The interface with which you send and receive mails is called the MUA or mail user agent. This is a simple editor and pager that merely helps you type and read mail. This program queues outgoing mail to be sent by SMTP. For incoming mails, it relies on an IMAP/POP3 client.

The most complex component is the MTA or mail transfer agent. Haven\'t you heard of sendmail?

It is a beast with multiple responsibilties and roles. High load servers handle thousands of mails in a day and most of the bandwidth is consumed by these folks. Of course with spam in the picture, bandwidth hog is certainly becoming an issue not to mention wasted storage space in the server.

Sending mail involves communicating with the domain part of the mail address and delivering the mail to the user before the @ in the address. For instance, if you mail me (girish1729@gmail.com), you open an SMTP connection to gmail.com and deliver to user "girish1729."

Once the mail is stored at the gmail server, I can retrieve it using either of POP3 or IMAP4. POP is a really simple protocol with bare bones support for retrieving emails in bulk.

IMAP is a very sophisticated protocol with in built support for folders and querying various headers. You need not download the whole bunch of mails to read one or two important short mails.

The procmail MDA(mail delivery agent) is a very popular way to process incoming mails automatically. You can deliver it to specific folders one corresponding to each mailing list or play a sound or popup for incoming mail. Of course you can also invoke the vacation program using it or write your own.

Much more can be done. I combined procmail with the dict client for automatically responding to mails with the word to be looked up as subject.

SMTP rfc, the famed rfc822 defines a bunch of headers in the each e-mail envelope. All the programs I discussed above concern only with the headers. But only ASCII was allowed in the body of the message.

It is only anti spam and anti virus software that reads the body of the mail in addition to the headers of course.

Things changed with the introduction of MIME(Multi Purpose Internet Mail Extension) and now we can send any data as attachment.

PGP introduced strong crypto to e-mails and SMIME and GPG which is another PGP alternative give you enough choices for encrypted e-mail sending and receiving.

Mixmaster on linux gives you an infrastructure for anonymous sending and receiving of mails. Mutt plays well with most of these tools.

Mailboxes on UNIX systems offer you several formats. mbox, Maildir, MH and MMDF are the choices but for heavy-duty purposes like listening to multiple mailing lists, maildir is a good choice to make.

The UNIX command line when combined with email gets really powerful andwe shall talk about it in enough detail in the second part.

So long!

Rate This Article: poorexcellent
Comments about this article
writen by: vijay on 2007-07-24 12:04:48
this is good
RE: redhat written by vijay:
writen by: flopy on 2008-12-04 17:14:20
It's nice. I like it :)
RE: written by flopy:
writen by: davehn on 2009-01-14 08:58:05
I like the article.
RE: Interesting written by davehn:

Comment title: * please do not put your response text here