140 lines
4.3 KiB
HTML
140 lines
4.3 KiB
HTML
<html>
|
|
|
|
<head>
|
|
|
|
<title>Postfix Anatomy - Delivering Mail</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<h1><a href="big-picture.html"><img src="small-picture.gif" width="115" height="45"></a> Postfix
|
|
Anatomy - Delivering Mail</h1>
|
|
|
|
<hr>
|
|
|
|
<a href="index.html">Up one level</a> | <a
|
|
href="receiving.html">Receiving Mail</a> | Delivering Mail | <a
|
|
href="backstage.html">Behind the Scenes</a> | <a
|
|
href="commands.html">Command-line Utilities</a>
|
|
|
|
<p>
|
|
|
|
Once a message has reached the <b>incoming</b> queue the next step
|
|
is to deliver it. The figure shows the main components of the
|
|
Postfix mail delivery apparatus. For an explanation of the symbols,
|
|
click on the icon in the upper left-hand corner of this page.
|
|
|
|
<p>
|
|
|
|
<center>
|
|
|
|
<img src="outbound.gif" width="424" height="269">
|
|
|
|
</center>
|
|
|
|
<p>
|
|
|
|
<ul>
|
|
|
|
<li>The <a href="qmgr.8.html">queue manager</a> is the heart of
|
|
the Postfix mail system. It contacts the <a href="local.8.html">local</a>,
|
|
<a href="smtp.8.html">smtp</a>, or <a href="pipe.8.html">pipe</a>
|
|
delivery agents, and sends a delivery request with queue file
|
|
pathname information, the message sender address, the host to
|
|
deliver to if the destination is remote, and one or more message
|
|
recipient addresses.
|
|
|
|
<p>
|
|
|
|
The queue manager maintains a separate <b>deferred</b> queue for
|
|
mail that cannot be delivered, so that a large mail backlog will
|
|
not slow down normal queue accesses.
|
|
|
|
<p>
|
|
|
|
The queue manager maintains a small <b>active</b> queue with just
|
|
the few messages that it has opened for delivery. The <b>active</b>
|
|
queue acts as a limited window on the potentially much larger
|
|
<b>incoming</b> or <b>deferred</b> queues. The small <b>active</b>
|
|
queue prevents the queue manager from running out of memory under
|
|
heavy load.
|
|
|
|
<p>
|
|
|
|
Optionally, the queue manager bounces mail for recipients that are
|
|
listed in the <a href="rewrite.html#relocated">relocated</a> table.
|
|
This table contains contact information for users or even entire
|
|
domains that no longer exist.
|
|
|
|
<p>
|
|
|
|
<li>On request by the queue manager, the <a
|
|
href="trivial-rewrite.8.html">trivial-rewrite</a> daemon resolves
|
|
destinations. By default, it only distinguishes between <i>local</i>
|
|
and <i>remote</i> destinations. Additional routing information can
|
|
be specified with the optional <a
|
|
href="rewrite.html#transport">transport</a> table.
|
|
|
|
<p>
|
|
|
|
<li>On request by the queue manager, the <a href="bounce.8.html">bounce
|
|
or defer</a> daemon generates non-delivery reports when mail cannot
|
|
be delivered, either due to an unrecoverable error or because the
|
|
destination is unreachable for an extended period of time.
|
|
|
|
<p>
|
|
|
|
<li>The <a href="local.8.html">local</a> delivery agent understands
|
|
UNIX-style mailboxes, <b>sendmail</b>-style system-wide <a
|
|
href="aliases.5.html">alias</a> databases, and <b>sendmail</b>-style
|
|
per-user <a href="aliases.5.html">.forward</a> files. Multiple
|
|
local delivery agents can be run in parallel, but parallel delivery
|
|
to the same user is usually limited.
|
|
|
|
<p>
|
|
|
|
Together with the <a href="sendmail.1.html">sendmail</a> mail
|
|
posting agent, the <a href="local.8.html">local</a> delivery agent
|
|
implements the familiar Sendmail user interface.
|
|
|
|
<p>
|
|
|
|
The <a href="local.8.html">local</a> delivery agent has hooks for
|
|
alternative forms of local delivery: you can configure it to
|
|
deliver to mailbox files in user home directories, and you can even
|
|
configure it to delegate mailbox delivery to an external command
|
|
such as the popular <a href="faq.html#procmail">procmail</a> program.
|
|
|
|
<p>
|
|
|
|
<li>The <a href="smtp.8.html">SMTP client</a> looks up a list of
|
|
mail exchangers for the destination host, sorts the list by
|
|
preference, and tries each address in turn until it finds a server
|
|
that responds. On a busy Postfix system you will see several SMTP
|
|
client processes running in parallel.
|
|
|
|
<p>
|
|
|
|
<li>The <a href="pipe.8.html">pipe mailer</a> is the outbound
|
|
interface to other mail transports (the <a
|
|
href="sendmail.1.html">sendmail</a> program is the inbound interface).
|
|
The Postfix mail system comes with <a href="faq.html">examples</a>
|
|
for delivery via the <b>UUCP</b> protocol. At the time of writing,
|
|
this venerable protocol is still widely used. By default, Postfix
|
|
understands <a href="rewrite.html#standard">bang path</a> style
|
|
addresses.
|
|
|
|
</ul>
|
|
|
|
<hr>
|
|
|
|
<a href="index.html">Up one level</a> | <a
|
|
href="receiving.html">Receiving Mail</a> | Delivering Mail | <a
|
|
href="backstage.html">Behind the Scenes</a> | <a
|
|
href="commands.html">Command-line Utilities</a>
|
|
|
|
</body>
|
|
|
|
</html>
|