How Email Is Sent and Received

 < Day Day Up > 

Email is sent as plain text across networks using SMTP. SMTP is used for sending mail from one network to another. Extensions to the protocol add authentication and error messages to the basic protocol. The mail transfer agent (MTA) works behind the scenes to send and receive email between computers. Some MTAs are Sendmail, Postfix, Fetchmail, Exim, or Qmail.

SMTP helps each computer along the way figure out how to get all the mail delivered to its destination. It is a remarkable system when you think about how complex a task it is asked to accomplish.

Here is a simplified example of how email is successfully processed and sent to its destination:

1.

user1@lion.org composes and sends an email message to user2@cheetah.org.

2.

The MTA at lion.org receives user1's email message and queues it for delivery behind any other messages that are also waiting to go out.

3.

The MTA at lion.org contacts the MTA at cheetah.org on port 25. After cheetah.org acknowledges the connection, the MTA at lion.org sends the mail message. After cheetah.org accepts and acknowledges receipt of the message, the connection is closed.

4.

The MTA at cheetah.org places the mail message into user2's incoming mailbox; user2 is notified that she has new mail the next time she logs on.

Of course, several things can go wrong during this process. Here are a few examples:

What if user2 doesn't exist at cheetah.org? In this case, the MTA at cheetah.org will reject the email and notify the MTA at lion.org of what the problem is. The MTA at lion.org will then generate an email message and send it to user1@lion.org, informing her that no user2 exists at cheetah.org (or perhaps just silently discard the message and give the sender no indication of the problem, depending on how the email server is configured).

What happens if cheetah.org doesn't respond to lion.org's connection attempts? (Perhaps the server is down for maintenance.) The MTA at lion.org notifies the sender that the initial delivery attempt has failed. Further attempts will be made at intervals decided by the server administrator until the deadline is reached, and the sender will be notified that the mail is undeliverable.

The Mail Transport Agent

Working behind the scenes to move mail between computers on different networks, several different MTAs are available for Fedora Core each with its own strengths and weaknesses. Some are extremely powerful, but very difficult to configure and somewhat slow; others are very fast and easy to configure, but do not contain as many features. The following sections provide more details about some of the more common MTAs available for use with Fedora.

Sendmail

The vast majority of email traffic on the Internet is handled by an MTA called Sendmail, the default MTA shipped with Fedora (and a number of other Unix distributions). Sendmail has the advantage of being installed and well-supported in your Fedora system. The commercial version (not included with Fedora) sports a GUI configuration utility, as well.

Sendmail is one of the oldest and most powerful MTAs in existence, but it has a few disadvantages. It is somewhat slow; in a high load environment, other MTAs, including Postfix and Qmail, typically can handle a much greater volume of messages per second. Sendmail is also notoriously convoluted; configuration files are extremely cryptic. (The best-selling book on Sendmail is more than 1,000 pages in length.)

Fortunately, the default configuration of Sendmail as provided by Fedora Core works fine for most basic installations, and only minor changes are needed to configure it for a basic email server installation. However, because of the complexity of advanced Sendmail configuration, many administrators choose to replace it with one of the alternative MTAs. (You learn the basics of configuring and using Sendmail in "Basic Sendmail Configuration and Operation," later in this chapter).

Postfix

Postfix (originally released in 1998 as the IBM Secure Mailer) is a popular Sendmail alternative; it is fast, secure, and easy to administer. Postfix is a drop-in replacement for Sendmail (meaning that other applications that expect to use Sendmail will not notice that Postfix has replaced it and will continue to work correctly), and migrating a Sendmail installation to Postfix is relatively simple. To make all this magic work, Postfix uses a Sendmail wrapper (an interface for making other programs think that it is Sendmail) so that MUAs and such can communicate with it just as if they were communicating with Sendmail.

CAUTION

Fedora provides Postfix version 2, which uses a slightly different configuration than the earlier version. If you are upgrading Postfix from an earlier Red Hat version, check your configuration files.

Fedora also now compiles Postfix and Sendmail against version 2 of the Cyrus SASL library (an authentication library). The Release Notes contain detailed information on file location and option changes that will affect you if you use these libraries.


For enhanced security, many Postfix processes used to use the chroot facility (which restricts access to only specific parts of the file system) for improved security, and there are no setuid components in Postfix. With the current release of Fedora, a chroot configuration is no longer used and is, in fact, discouraged by the Postfix author. You can manually reconfigure Postfix to a chroot configuration, but that is no longer supported by Fedora.

If you are starting from scratch, Postfix is considered a better choice than Sendmail.

Qmail and Exim

Qmail is a direct competitor to Postfix but is not provided with Fedora. Postfix is designed to be easier to use than Sendmail, as well as faster and more secure. However, Qmail isn't a drop-in replacement for Sendmail, so migrating an existing Sendmail installation to Qmail is not quite as simple as migrating from Sendmail to Postfix. Qmail is relatively easy to administer, and it integrates with a number of software add-ons, including web mail systems and POP3 servers. Qmail is available from http://www.qmail.org/.

Exim is yet another MTA, and it is available at http://www.exim.org/. Exim is considered faster and more secure that Sendmail or Postfix, but is much different to configure that either of those. Exim and Qmail use the maildir format rather than mbox, so both are considered "NFS safe" (see the following sidebar).

MDIR Versus Mailbox

Qmail also introduced maildir, which is an alternative to the standard Unix method of storing incoming mail. maildir is a more versatile system of handling incoming email, but it requires your email clients to be reconfigured, and it is not compatible with the traditional Unix way of storing incoming mail. You will need to use mail programs that recognize the maildir format. (The modern programs do.)

The traditional mbox format keeps all mail assigned to a folder concatenated as a single file and maintains an index of individual emails. With maildir, each mail folder has three subfolders: /cur, /new, and /tmp. Each email is kept in a separate, unique file. If you are running a mail server for a large number of people, you should select a file system that can efficiently handle a large number of small files.

mbox does offer one major disadvantage. While you are accessing the monolithic mbox file that contains all your email, suppose that some type of corruption occurs, either to the file itself or to the index. Recovery from this problem can be difficult. The mbox files are especially prone to problems if the files are being accessed over a network and can result in file corruption; one should avoid accessing mbox mail mounted over NFS, the network file system because file corruption can occur.

Depending on how you access your mail, maildir does permit the simultaneous access of maildir files by multiple applications; mbox does not.

The choice of an MUA also affects your choice of mail directory format. For example, the pine program does not cache any directory information and must reread the mail directory any time it accesses it. If you are using pine, maildir would be a poor choice. More advanced MUAs perform caching, so maildir might be a good choice, although the MUA cache can get out of synchronization. It seems that there is no perfect choice.

Fedora provides you with mail alternatives that have both strong and weak points. Be aware of the differences among the alternatives and frequently reevaluate your selection to make certain that it is the best one for your circumstances.


Choosing an MTA

Other MTAs are available for use with Fedora Core, but those discussed in the preceding sections are the most popular. Which one should you choose? That depends on what you need to do. Sendmail's main strengths are that it is considered the standard and it can do things that many other MTAs cannot. However, if ease of use or speed is a concern to you, you might want to consider replacing Sendmail with Postfix, Exim, or Qmail. Because Sendmail is the default MTA included with Fedora Core, it is covered in more detail in the following section.

The Mail Delivery Agent

SMTP is a server-to-server protocol that was designed to deliver mail to systems that are always connected to the Internet. Dial-up systems only connect at the user's command; they connect for specific operations, and are frequently disconnected. To accommodate this difference, many mail systems also include a mail delivery agent, or MDA. The MDA transfers mail to systems without permanent Internet connections. The MDA is similar to an MTA (see the following note), but does not handle deliveries between systems and does not provide an interface to the user.

NOTE

Procmail or Spamassassin are examples of MTAs; both provide filtering services to the MTA while they store messages locally and then make them available to the MUA or email client for reading by the user.


The MDA uses the POP3 or IMAP protocols for this process. In a manner similar to a post office box at the post office, POP3 and IMAP implement a "store and forward" process that alleviates the need to maintain a local mail server if all you want to do is read your mail. For example, dial-up Internet users can intermittently connect to their ISP's mail server to retrieve mail using Fetchmail the MDA provided by Fedora (see the section "Using Fetchmail to Retrieve Mail," later in this chapter).

The Mail User Agent

The mail user agent, or MUA, is another necessary part of the email system. The MUA is a mail client, or mail reader, that allows the user to read and compose email and provides the user interface. (It is the email application itself that most users are familiar with as "email.") Some popular Unix command-line MUAs are elm, pine, and mutt. Fedora also provides modern GUI MUAs: Evolution, Thunderbird, Mozilla Mail, Balsa, Sylpheed, and KMail. For comparison, common non-Unix MUAs are Microsoft Outlook, Outlook Express, Pegasus, Eudora, or Netscape Messenger.

The Microsoft Windows and Macintosh MUAs often include some MTA functionality; Unix does not. For example, Microsoft Outlook can connect to your Internet provider's mail server to send messages. On the other hand, Unix MUAs generally rely on an external MTA such as Sendmail. This might seem like a needlessly complicated way to do things, and it is if used to connect a single user to her ISP. For any other situation, however, using an external MTA allows you much greater flexibility because you can use any number of external programs to handle and process your email functions and customize the service. Having the process handled by different applications gives you very great control over how you provide email service to users on your network, as well as to individual and SOHO users.

For example, you could

  • Use Evolution to read and compose mail.

  • Use Sendmail to send your mail.

  • Use xbiff to notify you when you have new mail.

  • Use Fetchmail to retrieve your mail from a remote mail server.

  • Use Procmail to automatically sort your incoming mail based on sender, subject, or many other variables.

  • Use Spamassassin to eliminate the unwanted messages before you read them.

     < Day Day Up > 


    Red Hat Fedora 4 Unleashed
    Red Hat Fedora 4 Unleashed
    ISBN: 0672327929
    EAN: 2147483647
    Year: 2006
    Pages: 361

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net