source: server/mail/postfix.xml@ af702c1

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.0 6.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since af702c1 was af702c1, checked in by DJ Lucas <dj@…>, 19 years ago

Removed old Descriptions from Postfix.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@3383 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 20.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3 "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7<!ENTITY postfix-download-http "http://www.mirrorspace.org/postfix/official/postfix-&postfix-version;.tar.gz">
8<!ENTITY postfix-download-ftp "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-&postfix-version;.tar.gz">
9<!ENTITY postfix-size "1.9 MB">
10<!ENTITY postfix-buildsize "81 MB">
11<!ENTITY postfix-time "0.29 SBU">
12
13]>
14
15<sect1 id="postfix" xreflabel="Postfix-&postfix-version;">
16<sect1info>
17<othername>$LastChangedBy$</othername>
18<date>$Date$</date>
19</sect1info>
20<?dbhtml filename="postfix.html"?>
21<title>Postfix-&postfix-version;</title>
22<indexterm zone="postfix">
23<primary sortas="a-Postfix">Postfix</primary></indexterm>
24
25<sect2>
26<title>Introduction to Postfix</title>
27
28<para>The <application>Postfix</application> package contains a Mail
29Transport Agent (<acronym>MTA</acronym>). This is useful for sending email
30to other users of your host machine. It can also be configured to be a
31central mail server for your domain, a mail relay agent or simply a mail
32delivery agent to your local Internet Service Provider
33(<acronym>ISP</acronym>).</para>
34
35<sect3><title>Package information</title>
36<itemizedlist spacing='compact'>
37<listitem><para>Download (HTTP): <ulink
38url="&postfix-download-http;"/></para></listitem>
39<listitem><para>Download (FTP): <ulink
40url="&postfix-download-ftp;"/></para></listitem>
41<listitem><para>Download size: &postfix-size;</para></listitem>
42<listitem><para>Estimated disk space required:
43&postfix-buildsize;</para></listitem>
44<listitem><para>Estimated build time:
45&postfix-time;</para></listitem></itemizedlist>
46</sect3>
47
48<sect3><title><application>Postfix</application> dependencies</title>
49<sect4><title>Required</title>
50<para><xref linkend="db"/></para></sect4>
51<sect4><title>Optional</title>
52<para>
53<xref linkend="pcre"/>,
54<xref linkend="mysql"/>,
55<xref linkend="postgresql"/>,
56<xref linkend="openldap"/>,
57<xref linkend="openssl"/> and
58<xref linkend="cyrus-sasl"/>
59</para></sect4>
60</sect3>
61
62</sect2>
63
64<sect2>
65<title>Installation of <application>Postfix</application></title>
66
67<sect3><title>Configuring the build</title>
68
69<para>The <application>Postfix</application> source tree does not contain a
70<filename>configure</filename> script, rather the makefile in the
71top-level directory contains a <parameter>makefiles</parameter> target that
72regenerates all the other makefiles in the build tree. If you wish to
73use additional software such as a database back-end for virtual users, or
74<acronym>TLS</acronym>/<acronym>SSL</acronym> authentication, you'll
75need to regenerate the makefiles using one or more of the appropriate
76<envar>CCARGS</envar> and <envar>AUXLIBS</envar> settings listed below.</para>
77
78<para>Here is an example that combines the
79<acronym>TLS</acronym>/<acronym>SSL</acronym> and
80<application>Cyrus-SASL</application> arguments:</para>
81
82<screen><userinput><command>make makefiles \
83CCARGS="-DHAS_SSL -DUSE_SASL_AUTH -I/usr/include/openssl -I/usr/include/sasl" \
84AUXLIBS="-L/usr/lib -R/usr/lib -lssl -lcrypto -lsasl2"</command></userinput></screen>
85
86<sect4><title>SSL/TLS authentication</title>
87<para>To use <acronym>SSL</acronym>/<acronym>TLS</acronym>
88authentication with <application>Postfix</application>, you'll first
89need to apply a patch availible from
90<ulink url="ftp://ftp.aet.tu-cottbus.de/pub/postfix_tls/pfixtls-0.8.18-2.1.3-0.9.7d.tar.gz"/>.
91Unzip the patch tarball, and apply with the following commands:</para>
92
93<screen><userinput><command>patch -p1 &lt; ../pfixtls-0.8.18-2.1.3-0.9.7d/pfixtls.diff</command></userinput></screen>
94
95<para>You will need to pass the following values to the <command>make
96makefiles</command> command:</para>
97
98<screen><userinput>CCARGS="-DHAS_SSL -I/usr/include/openssl" \
99AUXLIBS="-L/usr/lib -lssl -lcrypto"</userinput></screen>
100
101<para>To use <acronym>SSL</acronym> or <acronym>TLS</acronym> you will
102also need <xref linkend="cyrus-sasl"/>.</para>
103</sect4>
104
105<sect4><title>Cyrus-SASL</title>
106<para>To use <application>Cyrus-SASL</application> with
107<application>Postfix</application>, use the following arguments:</para>
108
109<screen><userinput>CCARGS="-DUSE_SASL_AUTH -I/usr/include/sasl" \
110AUXLIBS="-L/usr/lib -R/usr/lib -lsasl2"</userinput></screen>
111</sect4>
112
113<sect4><title>OpenLDAP</title>
114<para>To use <application>OpenLDAP</application> with
115<application>Postfix</application>, use the following arguments:</para>
116
117<screen><userinput>CCARGS="-I/usr/include -DHAS_LDAP" \
118AUXLIBS="-L/usr/lib -lldap -llber"</userinput></screen>
119</sect4>
120
121<sect4><title>MySQL</title>
122<para>To use <application>MySQL</application> with
123<application>Postfix</application>, use the following arguments:</para>
124
125<screen><userinput>CCARGS="-DHAS_MYSQL -I/usr/include/mysql" \
126AUXLIBS="-L/usr/lib -lmysqlclient -lz -lm"</userinput></screen>
127</sect4>
128
129<sect4><title>PostgreSQL</title>
130<para>To use <application>PostgreSQL</application> with
131<application>Postfix</application>, use the following arguments:</para>
132
133<screen><userinput>CCARGS="-DHAS_PGSQL -I/usr/include/postgresql" \
134AUXLIBS="-L/usr/lib -lpq -lz -lm"</userinput></screen>
135</sect4>
136
137</sect3>
138
139<sect3><title>Installing Postfix</title>
140
141<para>Before you compile the program, you need to create users and groups that
142will be expected to be in place when the install script executes. Add the
143users and groups with the following commands:</para>
144
145<screen><userinput><command>groupadd postfix &amp;&amp;
146groupadd postdrop &amp;&amp;
147groupadd -g 65534 nogroup &amp;&amp;
148useradd -c postfix -d /dev/null -g postfix -s /bin/false postfix &amp;&amp;
149useradd -c nobody -d /home -g nogroup -s /bin/bash -u 65534 nobody &amp;&amp;
150chown postfix:postfix /var/mail</command></userinput></screen>
151
152<para>Install <application>Postfix</application> by running the
153following commands:</para>
154
155<screen><userinput><command>make &amp;&amp;
156sh postfix-install daemon_directory=/usr/sbin \
157 manpage_directory=/usr/share/man \
158 sample_directory=/usr/share/doc/postfix \
159 -non-interactive</command></userinput></screen>
160
161<para>The final installation step is to install the program's documentation with
162the following commands:</para>
163
164<screen><userinput><command>install -d /usr/share/doc/postfix &amp;&amp;
165cp -rf html/* /usr/share/doc/postfix</command></userinput></screen>
166</sect3></sect2>
167
168<sect2>
169<title>Command explanations</title>
170
171<para><command>sh postfix-install ... -non-interactive</command> : This keeps
172the install script from asking any questions, thereby accepting default
173destination directories in all but the three cases explicitly mentioned.</para>
174
175<para><command>make makefiles</command> : This command rebuilds the
176makefiles throughout the source tree to use the options contained in the
177<envar>CCARGS</envar> and <envar>AUXLIBS</envar> variables.</para>
178
179</sect2>
180
181<sect2>
182<title>Configuring <application>Postfix</application></title>
183
184<sect3><title>Config files</title>
185<para><filename>/etc/aliases</filename>,
186<filename>/etc/postfix/main.cf</filename> and
187<filename>/etc/postfix/master.cf</filename></para>
188</sect3>
189
190<sect3 id="postfix-config"><title>Configuration Information</title>
191<indexterm zone="postfix postfix-config">
192<primary sortas="e-etc-aliases">/etc/aliases</primary></indexterm>
193<indexterm zone="postfix postfix-config">
194<primary sortas="e-etc-postfix-star">/etc/postfix/*</primary></indexterm>
195
196<screen><userinput><command>cat &gt;&gt; /etc/aliases &lt;&lt; "EOF"</command>
197# Begin /etc/aliases
198
199MAILER-DAEMON: postmaster
200postmaster: root
201
202root: LOGIN
203# End /etc/aliases
204<command>EOF</command></userinput></screen>
205
206<note><para>To protect an existing <filename>/etc/aliases</filename> file, the
207above command appends these aliases to it if it exists. This file should be
208checked and duplicate aliases removed, if present.</para></note>
209
210<para>The <filename>/etc/aliases</filename> file that was just created or
211appended, the <filename>main.cf</filename> and the
212<filename>master.cf</filename> must be personalized for your system. The
213<filename>aliases</filename> file needs your non-root login identity so mail
214addressed to root can be forwarded to you at the user level. The
215<filename>main.cf</filename> file needs your fully qualified hostname. All of
216these edits can be done with sed commands entered into the console with
217appropriate substitutions of your non-root login name for
218<replaceable>[user]</replaceable> and your fully qualified hostname for
219<replaceable>[localhost.localdomain]</replaceable>. You will find the
220<filename>main.cf</filename> file is self documenting, so load it into your
221editor to make the changes you need for your situation.</para>
222
223<screen><userinput><command>sed -i "s/LOGIN/<replaceable>[user]</replaceable>/" /etc/aliases &amp;&amp;
224sed -i "s/#myhostname = host.domain.tld/myhostname = \
225 <replaceable>[localhost.localdomain]</replaceable>/" /etc/postfix/main.cf &amp;&amp;
226/usr/bin/newaliases &amp;&amp;
227/usr/sbin/postfix start</command></userinput></screen></sect3>
228
229<sect3 id="postfix-init"><title>Postfix init.d script</title>
230
231<para>To automate the running of Postfix at startup, install the
232<filename>/etc/rc.d/init.d/postfix</filename> init script included in the
233<xref linkend="intro-important-bootscripts"/> package.</para>
234<indexterm zone="postfix postfix-init"> <primary
235sortas="f-postfix">postfix</primary></indexterm>
236
237<screen><userinput><command>make install-postfix</command></userinput></screen>
238
239</sect3>
240
241</sect2>
242
243<sect2>
244<title>Contents</title>
245
246<segmentedlist>
247<segtitle>Installed Programs</segtitle>
248<segtitle>Installed Directories</segtitle>
249
250<seglistitem>
251<seg>bounce, cleanup, error, flush, lmtp, local, mailq, master,
252newaliases, nqmgr, oqmgr, pickup, pipe, postalias, postcat, postconf,
253postdrop, postfix, postkick, postlock, postlog, postmap, postqueue,
254postsuper, proxymap, qmgr, qmqpd, sendmail, showq, smtp, smtpd, spawn,
255trivial-rewrite, verify, and virtual</seg>
256<seg>/etc/postfix and /usr/share/doc/postfix</seg>
257</seglistitem>
258</segmentedlist>
259
260<variablelist>
261<bridgehead renderas="sect3">Short Descriptions</bridgehead>
262<?dbfo list-presentation="list"?>
263
264<varlistentry id="bounce">
265<term><command>bounce</command></term>
266<listitem><para>A daemon that maintains per-message log files with
267non-delivery status information.</para>
268<indexterm zone="postfix bounce">
269<primary sortas="b-bounce">bounce</primary></indexterm>
270</listitem>
271</varlistentry>
272
273<varlistentry id="cleanup">
274<term><command>cleanup</command></term>
275<listitem><para>A daemon that processes inbound mail, inserts it into the
276incoming mail queue, and informs the queue manager of its arrival.</para>
277<indexterm zone="postfix cleanup">
278<primary sortas="b-cleanup">cleanup</primary></indexterm>
279</listitem>
280</varlistentry>
281
282<varlistentry id="error">
283<term><command>error</command></term>
284<listitem><para>A deamon that processes non-delivery requests from the
285queue manager.</para>
286<indexterm zone="postfix error">
287<primary sortas="b-error">error</primary></indexterm>
288</listitem>
289</varlistentry>
290
291<varlistentry id="flush">
292<term><command>flush</command></term>
293<listitem><para>A daemon that maintains a record of deferred mail by
294destination.</para>
295<indexterm zone="postfix flush">
296<primary sortas="b-flush">flush</primary></indexterm>
297</listitem>
298</varlistentry>
299
300<varlistentry id="lmtp">
301<term><command>lmtp</command></term>
302<listitem><para>A daemon that processes message delivery requests from the
303queue manager.</para>
304<indexterm zone="postfix lmtp">
305<primary sortas="b-lmtp">lmtp</primary></indexterm>
306</listitem>
307</varlistentry>
308
309<varlistentry id="local">
310<term><command>local</command></term>
311<listitem><para>A daemon that processes delivery requests from the queue
312manager to deliver mail to local recipients.</para>
313<indexterm zone="postfix local">
314<primary sortas="b-local">local</primary></indexterm>
315</listitem>
316</varlistentry>
317
318<varlistentry id="mailq">
319<term><command>mailq</command></term>
320<listitem><para>A symlink to <filename>sendmail</filename>.</para>
321<indexterm zone="postfix mailq">
322<primary sortas="b-mailq">mailq</primary></indexterm>
323</listitem>
324</varlistentry>
325
326<varlistentry id="master">
327<term><command>master</command></term>
328<listitem><para>The resident process that runs
329<application>Postfix</application> daemons on demand.</para>
330<indexterm zone="postfix master">
331<primary sortas="b-master">master</primary></indexterm>
332</listitem>
333</varlistentry>
334
335<varlistentry id="newaliases">
336<term><command>newaliases</command></term>
337<listitem><para>A symlink to <filename>sendmail</filename>.</para>
338<indexterm zone="postfix newaliases">
339<primary sortas="b-newaliases">newaliases</primary></indexterm>
340</listitem>
341</varlistentry>
342
343<varlistentry id="nqmgr">
344<term><command>nqmgr</command></term>
345<listitem><para>A daemon that awaits the arrival of incoming mail and
346arranges for its delivery.</para>
347<indexterm zone="postfix nqmgr">
348<primary sortas="b-nqmgr">nqmgr</primary></indexterm>
349</listitem>
350</varlistentry>
351
352<varlistentry id="oqmgr">
353<term><command>oqmgr</command></term>
354<listitem><para>The old style queue manager. This will be removed
355soon.</para>
356<indexterm zone="postfix oqmgr">
357<primary sortas="b-oqmgr">oqmgr</primary></indexterm>
358</listitem>
359</varlistentry>
360
361<varlistentry id="pickup">
362<term><command>pickup</command></term>
363<listitem><para>A daemon that waits for hints that new mail has been
364dropped into the maildrop directory, and feeds it into the
365<application>cleanup</application> daemon.</para>
366<indexterm zone="postfix pickup">
367<primary sortas="b-pickup">pickup</primary></indexterm>
368</listitem>
369</varlistentry>
370
371<varlistentry id="pipe">
372<term><command>pipe</command></term>
373<listitem><para>A daemon that processes requests from the queue
374manager to deliver messages to external commands.</para>
375<indexterm zone="postfix pipe">
376<primary sortas="b-pipe">pipe</primary></indexterm>
377</listitem>
378</varlistentry>
379
380<varlistentry id="postalias">
381<term><command>postalias</command></term>
382<listitem><para>Creates or queries one or more
383<application>Postfix</application> alias databases, or updates an
384existing one.</para>
385<indexterm zone="postfix postalias">
386<primary sortas="b-postalias">postalias</primary></indexterm>
387</listitem>
388</varlistentry>
389
390<varlistentry id="postcat">
391<term><command>postcat</command></term>
392<listitem><para>Prints the contents of the
393<application>named</application> files in human readable format.</para>
394<indexterm zone="postfix postcat">
395<primary sortas="b-postcat">postcat</primary></indexterm>
396</listitem>
397</varlistentry>
398
399<varlistentry id="postconf">
400<term><command>postconf</command></term>
401<listitem><para>Displays or changes the value of
402<application>Postfix</application> configuration parameters.</para>
403<indexterm zone="postfix postconf">
404<primary sortas="b-postconf">postconf</primary></indexterm>
405</listitem>
406</varlistentry>
407
408<varlistentry id="postdrop">
409<term><command>postdrop</command></term>
410<listitem><para>Creates a file in the maildrop directory and copies
411it's standard input to the file.</para>
412<indexterm zone="postfix postdrop">
413<primary sortas="b-postdrop">postdrop</primary></indexterm>
414</listitem>
415</varlistentry>
416
417<varlistentry id="postfix-bin">
418<term><command>postfix</command></term>
419<listitem><para>Controls the operation of the
420<application>Postfix</application> mail system.</para>
421<indexterm zone="postfix postfix-bin">
422<primary sortas="b-postfix">postfix</primary></indexterm>
423</listitem>
424</varlistentry>
425
426<varlistentry id="postkick">
427<term><command>postkick</command></term>
428<listitem><para>Sends requests to the specified service over a
429local transport channel.</para>
430<indexterm zone="postfix postkick">
431<primary sortas="b-postkick">postkick</primary></indexterm>
432</listitem>
433</varlistentry>
434
435<varlistentry id="postlock">
436<term><command>postlock</command></term>
437<listitem><para>Locks a mail folder for exclusive use, and executes
438commands passed to it.</para>
439<indexterm zone="postfix postlock">
440<primary sortas="b-postlock">postlock</primary></indexterm>
441</listitem>
442</varlistentry>
443
444<varlistentry id="postlog">
445<term><command>postlog</command></term>
446<listitem><para>A <application>Postfix</application>-compatible logging
447interface for use in, for example, shell scripts.</para>
448<indexterm zone="postfix postlog">
449<primary sortas="b-postlog">postlog</primary></indexterm>
450</listitem>
451</varlistentry>
452
453<varlistentry id="postmap">
454<term><command>postmap</command></term>
455<listitem><para>Creates or queries one or more Postfix lookup
456tables, or updates an existing one.</para>
457<indexterm zone="postfix postmap">
458<primary sortas="b-postmap">postmap</primary></indexterm>
459</listitem>
460</varlistentry>
461
462<varlistentry id="postqueue">
463<term><command>postqueue</command></term>
464<listitem><para>The <application>Postfix</application> user interface for
465queue management.</para>
466<indexterm zone="postfix postqueue">
467<primary sortas="b-postqueue">postqueue</primary></indexterm>
468</listitem>
469</varlistentry>
470
471<varlistentry id="postsuper">
472<term><command>postsuper</command></term>
473<listitem><para>The <application>Postfix</application> user interface for
474superuser queue management.</para>
475<indexterm zone="postfix postsuper">
476<primary sortas="b-postsuper">postsuper</primary></indexterm>
477</listitem>
478</varlistentry>
479
480<varlistentry id="proxymap">
481<term><command>proxymap</command></term>
482<listitem><para>Provides read-only table lookup services to other
483<application>Postfix</application> processes.</para>
484<indexterm zone="postfix proxymap">
485<primary sortas="b-proxymap">proxymap</primary></indexterm>
486</listitem>
487</varlistentry>
488
489<varlistentry id="qmgr">
490<term><command>qmgr</command></term>
491<listitem><para>A daemon that awaits the arrival of incoming mail and
492arranges for its delivery.</para>
493<indexterm zone="postfix qmgr">
494<primary sortas="b-qmgr">qmgr</primary></indexterm>
495</listitem>
496</varlistentry>
497
498<varlistentry id="qmqpd">
499<term><command>qmqpd</command></term>
500<listitem><para>A daemon that receives one message per connection, and
501pipes it through the <application>cleanup</application> daemon, and
502places it into the incoming queue.</para>
503<indexterm zone="postfix qmqpd">
504<primary sortas="b-qmqpd">qmqpd</primary></indexterm>
505</listitem>
506</varlistentry>
507
508<varlistentry id="sendmail-postfix">
509<term><command>sendmail</command></term>
510<listitem><para>The <application>Postfix</application> to
511<application>Sendmail</application> compatibility interface.</para>
512<indexterm zone="postfix sendmail-postfix">
513<primary sortas="b-sendmail">sendmail</primary></indexterm>
514</listitem>
515</varlistentry>
516
517<varlistentry id="showq">
518<term><command>showq</command></term>
519<listitem><para>A daemon that reports the Postfix mail queue status.</para>
520<indexterm zone="postfix showq">
521<primary sortas="b-showq">showq</primary></indexterm>
522</listitem>
523</varlistentry>
524
525<varlistentry id="smtp">
526<term><command>smtp</command></term>
527<listitem><para>Looks up a list of mail exchanger addresses for the
528destination host, sorts the list by preference, and connects to
529each listed address until it finds a server that responds.</para>
530<indexterm zone="postfix smtp">
531<primary sortas="b-smtp">smtp</primary></indexterm>
532</listitem>
533</varlistentry>
534
535<varlistentry id="smtpd">
536<term><command>smtpd</command></term>
537<listitem><para>Accepts network connection requests and performs zero
538or more SMTP transactions per connection.</para>
539<indexterm zone="postfix smtpd">
540<primary sortas="b-smtpd">smtpd</primary></indexterm>
541</listitem>
542</varlistentry>
543
544<varlistentry id="spawn">
545<term><command>spawn</command></term>
546<listitem><para>Listens on a port as specified in the
547<application>Postfix</application> <filename>master.cf</filename> file
548and spawns an external command whenever a connection is established.</para>
549<indexterm zone="postfix spawn">
550<primary sortas="b-spawn">spawn</primary></indexterm>
551</listitem>
552</varlistentry>
553
554<varlistentry id="trivial-rewrite">
555<term><command>trivial-rewrite</command></term>
556<listitem><para>A daemon that rewrites addresses to standard form.</para>
557<indexterm zone="postfix trivial-rewrite">
558<primary sortas="b-trivial-rewrite">trivial-rewrite</primary></indexterm>
559</listitem>
560</varlistentry>
561
562<varlistentry id="verify">
563<term><command>verify</command></term>
564<listitem><para>Maintains a record of what recipient addresses are known
565to be deliverable or undeliverable.</para>
566<indexterm zone="postfix verify">
567<primary sortas="b-verify">verify</primary></indexterm>
568</listitem>
569</varlistentry>
570
571<varlistentry id="virtual">
572<term><command>virtual</command></term>
573<listitem><para>Delivers mail to virtual users' mail directories.</para>
574<indexterm zone="postfix virtual">
575<primary sortas="b-virtual">virtual</primary></indexterm>
576</listitem>
577</varlistentry>
578</variablelist>
579
580</sect2>
581
582</sect1>
583
Note: See TracBrowser for help on using the repository browser.