autoupdate
[postfix-master.git] / postfix-master / goals.html
blob7c7e4b0ddd0e4ca1ee3f16a8f36cc5b7e70cc926
1 <html>
3 <head>
5 <title>Postfix Overview - Goals and Features</title>
7 <META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
8 </head>
10 <body background="obsolete.gif">
12 <h1><a href="big-picture.html"><img src="small-picture.gif" width="115" height="45"></a> Postfix
13 Overview - Goals and Features</h1>
15 <hr>
17 <p> <strong> Note: this web page is no longer maintained. It exists
18 only to avoid breaking links in web pages that describe earlier
19 versions of the Postfix mail system. </strong> </p>
21 <a href="docs.html">Up one level</a> | <a
22 href="motivation.html">Introduction</a> | Goals and features | <a
23 href="architecture.html">Global architecture</a> | <a
24 href="queuing.html">Queue Management</a> | <a
25 href="security.html">Security</a>
27 <h2>Primary goals</h2>
29 The goal of the Postfix project is to implement a viable alternative
30 to the UNIX Sendmail program. Specific goals, and the ways that
31 Postfix attempts to achieve them are:
33 <ul>
35 <li>Wide dissemination. Postfix must be adopted by lots of people
36 in order to make a significant impact on Internet mail performance
37 and security. Therefore the software is given away for free, with
38 no strings attached to it.
40 <p>
42 <li>Performance. Postfix is up to three times as fast as its nearest
43 competitor. A desktop PC running Postfix can receive and deliver
44 a million <i>different</i> messages per day. Postfix uses web server
45 tricks to reduce process creation overhead and uses other tricks
46 to reduce file system overhead, without compromising reliability.
48 <p>
50 <li>Compatibility. Postfix is designed to be sendmail-compatible
51 to make migration easy. Postfix supports <b>/var[/spool]/mail</b>,
52 <b>/etc/aliases</b>, <b>NIS</b>, and <b>~/.forward</b> files.
53 However, Postfix also attempts to be easy to administer, and
54 therefore it does <i>not</i> use <b>sendmail.cf</b>.
56 <p>
58 <li>Safety and robustness. Postfix is designed to behave rationally
59 under stress. When the local system runs out of disk space or
60 memory, the Postfix software backs off, instead of making the
61 problem worse. By design, no Postfix program keeps growing as the
62 number of messages etc. increases. Postfix is designed to stay in
63 control.
65 <p>
67 <li>Flexibility. Postfix is built from over a dozen little programs
68 that each perform only one specific task: receive a message via
69 SMTP, deliver a message via SMTP, deliver a message locally, rewrite
70 an address, and so on. Sites with specific requirements can replace
71 one or more little programs by alternative versions. And it is easy
72 to disable functionality, too: firewalls and client workstations
73 don't need local delivery at all.
75 <p>
77 <li>Security. Postfix uses multiple layers of defense to protect
78 the local system against intruders. Almost every Postfix daemon
79 can run in a <i>chroot</i> jail with fixed low privileges. There
80 is no direct path from the network to the security-sensitive local
81 delivery programs - an intruder has to break through several other
82 programs first. Postfix does not even trust the contents of its
83 own queue files, or the contents of its own IPC messages. Postfix
84 filters sender-provided information before exporting it via
85 environment variables. Last but not least, no Postfix program is
86 <i>set-uid</i>.
88 </ul>
90 <h2>Other significant features of interest</h2>
92 <ul>
94 <li><a href="rewrite.html#transport">Multiple transports</a>. In
95 the past the author has configured Sendmail systems that could
96 relay between Internet, DECnet, X.400 and UUCP. Postfix is designed
97 to be flexible enough that it can operate in such environments
98 without requiring virtual domain or alias kludges. However, the
99 initial release only talks SMTP, and has only limited support for
100 UUCP.
104 <li><a href="rewrite.html#virtual">Virtual domains</a>. In the most
105 common case, adding support for a virtual domain requires change
106 to only a single Postfix lookup table. Other mailers usually need
107 multiple levels of aliasing or redirection to achieve the same
108 result.
112 <li><a href="uce.html">UCE control</a>. Postfix can restrict what
113 hosts can relay their mail through a Postfix system, and supports
114 restrictions on what mail is allowed to come in. Postfix implements
115 the usual suspects: blacklists, RBL lookups, HELO/sender DNS
116 lookups. Content filtering hasn't been implemented yet.
120 <li><a href="rewrite.html">Table lookups</a>. Postfix does not yet
121 implement an address rewriting language. Instead it makes extensive
122 use of table lookups. Tables can be local <b>dbm</b> or <b>db</b>
123 files, or networked <b>NIS</b> or <b>NetInfo</b> maps. Adding
124 support for other lookup mechanisms is relatively easy.
126 </ul>
128 <hr>
130 <a href="docs.html">Up one level</a> | <a
131 href="motivation.html">Introduction</a> | Goals and features | <a
132 href="architecture.html">Global architecture</a> | <a
133 href="queuing.html">Queue Management</a> | <a
134 href="security.html">Security</a>
136 </body>
138 </html>