Component Architecture

The IMTA routes email messages between an arbitrary number of mail components such as the message stores, other SMTP hosts, UUCP, non-SMTP mail networks, and mail processing programs. It uses the concept of channels to accomplish this task. A channel is an interface with another mail component and is responsible for dealing with inbound and outbound email traffic between the IMTA and the mail component.

Internet email transfer is achieved by a store and forward mechanism. Each channel has a message queue for storing messages that are destined to be sent to one or more of the interfaces associated with the channel. A channel has a master program which extracts messages from the channel's queue and delivers them. It may also have a slave program to handle messages from the mail component associated with the channel.

The IMTA routes the messages by associating a destination channel with each envelop recipient. The IMTA uses a set of domain rewriting rules in its configuration file to determine the destination channel. For addresses matching the local channel, it looks up in the alias database to perform the rewriting.

The IMTA caches the directory information on all its users and distribution lists in its databases.

The job controller is an IMTA daemon responsible for scheduling message delivery. It does so by executing the channel master programs when appropriate.

Some external messaging interfaces of the IMTA:

SMTP channel: TCP/IP-based message delivery and receipt.
Pipe channel: used for alternative message delivery programs.
UUCP channel: based upon periodic dial-up asynchronous communication.
/var/mail channel: delivers mail to /var/mail for backward compatibility.
Message store channel: delivers to the SIMS message store.
Reprocessing channel: useful for messages that are resubmitted due to transient delivery problems.
Defragmentation channel: reassembles partial messages into the original complete message.
Conversion channel: performs body party-by-body part conversion on messages.



Copyright © 1999 Sun Microsystems, Inc. All Rights Reserved.