qmail Features

 < Free Open Study > 



qmail is a full-featured MTA. It handles all of the traditional functions of an MTA including SMTP service, SMTP delivery, queuing and queue management, local delivery, and local message injection. It includes a POP3 server and support for aliases, mailing lists, virtual users, virtual domains, and forwarding. Following is a quick summary of qmail's major features. A more detailed feature list is provided in Appendix D, "qmail Features."

Setup Features

The setup process includes building, installing, and configuring the programs in the qmail suite.

qmail automatically adapts to the system it's being built on, so no porting is required. During the installation, qmail automatically configures itself for basic functionality. It installs easily and doesn't require lots of decision-making. It's configured using a set of simple control files-not a monolithic, cryptic configuration file.

Security Features

Mail is a publicly accessible service on the local system and via the Internet. Because of this, great care must be taken to ensure that it doesn't open the system to attacks that could compromise the local system's integrity or allow damage to or disclosure of files, including mailboxes.

qmail clearly distinguishes between deliveries to addresses, files, and programs, which prevents attackers from overwriting files or executing arbitrary programs. It uses minimal setuid() code: only one module, which runs setuid() to a qmail-specific UID. It also uses minimal superuser code: Only two modules run with system privileges. Trust partitioning using five qmail-specific UIDs limits the damage that could be caused by a security hole in one module. qmail keeps detailed logs of its actions, which can be useful for incident analysis. Complete SMTP dialogues and copies of all messages sent and received can also be saved.

Message Construction

qmail provides utilities that help users construct new mail messages that conform to Internet standards and provide the control that users demand.

qmail includes a sendmail command for Sendmail compatibility with scripts and programs that send mail messages. It supports long header fields limited only by system memory. qmail also supports host and user masquerading, allowing local users and hosts to be hidden from the public.

SMTP Service

As an MTA, one of qmail's primary functions is to provide SMTP service to other MTAs and MUAs.

qmail complies with the relevant Internet standards and is 8-bit clean, so messages with non-ASCII characters won't be rejected or damaged. It detects "looping" messages by counting delivery hops, and if aliases on two or more hosts create an infinite loop, qmail will detect and break the loop. qmail supports "blacklisting" sites known to abuse mail service. Also, it doesn't alter existing message header fields.

Queue Management

Another critical MTA function is storing and retrying temporarily undeliverable messages. The structure that stores these messages is called a queue.

When new messages are placed in the queue, qmail processes them immediately. Each message has its own retry schedule, so qmail won't opportunistically bombard a long-down host with a huge backlog. As messages in the queue age, qmail retries them less frequently.

To speed the delivery of messages, qmail supports multiple concurrent local and remote deliveries. Each successful delivery is recorded to disk to prevent duplicates in the event of a crash, and the queue is crash proof, so no mail is lost from the queue. The queue is also self-cleaning: Partially injected messages are automatically removed.

Bounces

When messages are undeliverable, either locally or remotely, senders are notified by mail. When a message is returned in this manner, it's said to have "bounced."

qmail's bounce messages are clear and direct for human recipients, yet easily parsed by bounce-handling programs. qmail also supports "double" bounces: Undeliverable bounce messages are sent to the postmaster.

Routing by Domain

Controlling the routing of e-mail messages based on the recipient's domain name is often useful and facilitates complex mail systems and the hosting of multiple domains on a single server.

qmail supports host name aliases: The local host can use multiple names. It also supports virtual domains: hosted domains with independent address spaces. Domains can even be "wildcarded," which means that multiple sub-domains can be handled with a single configuration setting.

qmail even supports, optionally, Sendmail-style routed addresses such as molly%mail.example.com@isp.example.net, which means "deliver the message to molly@mail.example.com through isp.example.net."

SMTP Delivery

Another primary MTA function is delivering mail to other MTAs using SMTP.

qmail's SMTP client complies with the relevant Internet standards and is 8-bit clean, so messages with non-ASCII characters can be sent undamaged. It also automatically detects unreachable hosts and waits an hour before trying them again. qmail supports "hard-coded" routes that allow the mail administrator to override the routes specified in DNS.

Forwarding and Mailing Lists

Forwarding incoming messages and supporting mailing lists are common MTA functions.

qmail supports Sendmail-style .forward files using the dot-forward package and high-performance forwarding using the fastforward package. Sendmail /etc/aliases compatibility is also supported through the fastforward package.

Automatic "-owner" support allows list owners to receive the bounces from a mailing list, and Variable Envelope Return Path (VERP) support enables the reliable automatic identification of bad addresses on mailing lists.

Mail administrators and users can use address wildcarding to control the disposition of messages to multiple addresses. qmail uses the Delivered-To header field to automatically and efficiently prevent alias "loops."

Local Delivery

qmail supports a wide range of local delivery options using its built-in Mail Delivery Agent (MDA) and user-specified MDAs.

Users control their own address space: User lucy has complete control over mail to lucy-anything@domain.

The built-in MDA, qmail-local, supports the traditional Unix mbox mailbox format for compatibility with Mail User Agents (MUAs) as well as the maildir format for reliable delivery without locking, even over NFS. It also supports delivery to programs: MDAs, filters, auto-responders, custom scripts, and so on.

POP3 Service

Although it's not formally a service provided by MTAs, qmail includes a POP3 server for providing network access to mailboxes.

The server, qmail-pop3d, complies with the relevant Internet standards and supports the optional UIDL and TOP commands. It uses modular password checking, so alternative authentication methods such as APOP can be used. It supports and requires use of the maildir mailbox format.



 < Free Open Study > 



The Qmail Handbook
The qmail Handbook
ISBN: 1893115402
EAN: 2147483647
Year: 2001
Pages: 186
Authors: Dave Sill

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