source: server/mail/sendmail.xml@ dc600829

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 dc600829 was dc600829, checked in by Bruce Dubbs <bdubbs@…>, 12 years ago

Update to sendmail-8.14.5
Update all boot scripts not previously updated to LFS-7.0+ syntax.

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

  • Property mode set to 100644
File size: 14.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY sendmail-download-http "http://www.sendmail.org/ftp/sendmail.&sendmail-version;.tar.gz">
8 <!ENTITY sendmail-download-ftp "ftp://ftp.sendmail.org/pub/sendmail/sendmail.&sendmail-version;.tar.gz">
9 <!ENTITY sendmail-md5sum "02ccfc331cc81ed00ec8bb5ecfc69018">
10 <!ENTITY sendmail-size "2.0 MB">
11 <!ENTITY sendmail-buildsize "19 MB">
12 <!ENTITY sendmail-time "0.3 SBU">
13]>
14
15<sect1 id="sendmail" xreflabel="sendmail-&sendmail-version;">
16 <?dbhtml filename="sendmail.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>sendmail-&sendmail-version;</title>
24
25 <indexterm zone="sendmail">
26 <primary sortas="a-sendmail">sendmail</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to sendmail</title>
31
32 <para>The <application>sendmail</application> package contains a Mail
33 Transport Agent (MTA).</para>
34
35 &lfs70_checked;
36
37 <bridgehead renderas="sect3">Package Information</bridgehead>
38 <itemizedlist spacing="compact">
39 <listitem>
40 <para>Download (HTTP): <ulink url="&sendmail-download-http;"/></para>
41 </listitem>
42 <listitem>
43 <para>Download (FTP): <ulink url="&sendmail-download-ftp;"/></para>
44 </listitem>
45 <listitem>
46 <para>Download MD5 sum: &sendmail-md5sum;</para>
47 </listitem>
48 <listitem>
49 <para>Download size: &sendmail-size;</para>
50 </listitem>
51 <listitem>
52 <para>Estimated disk space required: &sendmail-buildsize;</para>
53 </listitem>
54 <listitem>
55 <para>Estimated build time: &sendmail-time;</para>
56 </listitem>
57 </itemizedlist>
58
59 <bridgehead renderas="sect3">sendmail Dependencies</bridgehead>
60
61 <bridgehead renderas="sect4">Required</bridgehead>
62 <para role="required">
63 <xref linkend="openldap"/>
64 </para>
65
66 <bridgehead renderas="sect4">Optional</bridgehead>
67 <para role="optional">
68 <xref linkend="openssl"/>,
69 <xref linkend="tcpwrappers"/>,
70 <xref linkend="cyrus-sasl"/>,
71 <xref linkend="procmail"/>,
72 <ulink url="http://www.feep.net/nph/">nph</ulink>, and
73 <xref linkend="gs"/> (for creating PDF documentation)
74 </para>
75
76 <para condition="html" role="usernotes">User Notes:
77 <ulink url="&blfs-wiki;/sendmail"/></para>
78
79 </sect2>
80
81 <sect2 role="installation">
82 <title>Installation of sendmail</title>
83
84 <para>Before building <application>sendmail</application>, create the
85 required user, group and directory with the following commands issued as
86 the <systemitem class="username">root</systemitem> user:</para>
87
88<screen role="root"><userinput>groupadd -g 26 smmsp &amp;&amp;
89useradd -c "Sendmail Daemon" -g smmsp -d /dev/null \
90 -s /bin/false -u 26 smmsp &amp;&amp;
91chmod -v 1777 /var/mail &amp;&amp;
92install -v -m700 -d /var/spool/mqueue</userinput></screen>
93
94 <para><emphasis>Note:</emphasis> See the source tree
95 <filename>sendmail/README</filename> file for information on linking
96 optional packages into the build. Use the example below, which adds
97 support for <application>tcpwrappers</application>, SASL, StartTLS
98 (<application>OpenSSL</application>) and
99 <application>OpenLDAP</application>, as a starting point.
100 Of course, modify it to suit your particular needs.</para>
101
102<screen><userinput>cat &gt;&gt; devtools/Site/site.config.m4 &lt;&lt; "EOF"
103<literal>APPENDDEF(`confENVDEF',`-DSTARTTLS -DTCPWRAPPERS -DSASL -DLDAPMAP')
104APPENDDEF(`confLIBS', `-lssl -lcrypto -lwrap -lsasl2 -lldap -llber')
105APPENDDEF(`confINCDIRS', `-I/usr/include/sasl')</literal>
106EOF</userinput></screen>
107
108 <para>Install <application>sendmail</application> with the following
109 commands:</para>
110
111<screen><userinput>cat &gt;&gt; devtools/Site/site.config.m4 &lt;&lt; "EOF"
112<literal>define(`confMANGRP',`root')
113define(`confMANOWN',`root')
114define(`confSBINGRP',`root')
115define(`confUBINGRP',`root')
116define(`confUBINOWN',`root')</literal>
117EOF
118cd sendmail &amp;&amp;
119sh Build &amp;&amp;
120cd ../cf/cf &amp;&amp;
121cp generic-linux.mc sendmail.mc &amp;&amp;
122sh Build sendmail.cf</userinput></screen>
123
124 <para>This package does not come with a test suite.</para>
125
126 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
127
128<screen role="root"><userinput>install -v -d -m755 /etc/mail &amp;&amp;
129sh Build install-cf &amp;&amp;
130
131cd ../.. &amp;&amp;
132sh Build install &amp;&amp;
133
134install -v -m644 cf/cf/{submit,sendmail}.mc /etc/mail &amp;&amp;
135cp -v -R cf/* /etc/mail &amp;&amp;
136
137install -v -m755 -d /usr/share/doc/sendmail-&sendmail-version;/{cf,sendmail} &amp;&amp;
138install -v -m644 \
139 CACerts FAQ KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \
140 /usr/share/doc/sendmail-&sendmail-version; &amp;&amp;
141install -v -m644 sendmail/{README,SECURITY,TRACEFLAGS,TUNING} \
142 /usr/share/doc/sendmail-&sendmail-version;/sendmail &amp;&amp;
143install -v -m644 cf/README /usr/share/doc/sendmail-&sendmail-version;/cf &amp;&amp;
144
145for manpage in sendmail editmap mailstats makemap praliases smrsh
146do
147 install -v -m444 $manpage/$manpage.8 /usr/share/man/man8
148done &amp;&amp;
149install -v -m444 sendmail/aliases.5 /usr/share/man/man5 &amp;&amp;
150install -v -m444 sendmail/mailq.1 /usr/share/man/man1 &amp;&amp;
151install -v -m444 sendmail/newaliases.1 /usr/share/man/man1 &amp;&amp;
152install -v -m444 vacation/vacation.1 /usr/share/man/man1</userinput></screen>
153
154 <para>Install the <application>sendmail</application> Installation and
155 Operations Guide with the following commands:</para>
156
157<screen><userinput>cd doc/op &amp;&amp;
158sed -i 's/groff/GROFF_NO_SGR=1 groff/' Makefile &amp;&amp;
159make op.txt op.pdf</userinput></screen>
160
161 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
162
163<screen role="root"><userinput>install -v -d -m755 /usr/share/doc/sendmail-&sendmail-version; &amp;&amp;
164install -v -m644 op.ps op.txt op.pdf /usr/share/doc/sendmail-&sendmail-version; &amp;&amp;
165cd ../..</userinput></screen>
166
167 <para><emphasis>Note:</emphasis> remove <filename>op.pdf</filename> from
168 the <command>make</command> and <command>install</command> commands if
169 you don't have <application>Ghostscript</application> installed.</para>
170
171 </sect2>
172
173 <sect2 role="commands">
174 <title>Command Explanations</title>
175
176 <para><command>cat &gt; devtools/Site/site.config.m4 &lt;&lt; "EOF"</command>:
177 This creates a configuration file changing some of the default settings.</para>
178
179 <para><command>sh Build; sh Build sendmail.cf; sh Build install-cf;
180 sh Build install</command>: <application>sendmail</application> uses an
181 <application>m4</application> based build script to create the various
182 <filename>Makefile</filename>s. These commands build and install the
183 package.</para>
184
185 <para><command>for manpage in...;do...;done; install ...</command>: The man
186 pages are installed already formatted and <command>man</command> displays
187 them somewhat garbled. These commands replace the formatted pages with
188 pages <command>man</command> can display properly.</para>
189
190 </sect2>
191
192 <sect2 role="configuration">
193 <title>Configuring sendmail</title>
194
195 <sect3 id="sendmail-config">
196 <title>Config Files</title>
197
198 <para><filename>/etc/mail/*</filename></para>
199
200 <indexterm zone="sendmail sendmail-config">
201 <primary sortas="e-etc-mail">/etc/mail/*</primary>
202 </indexterm>
203
204 </sect3>
205
206 <sect3>
207 <title>Configuration Information</title>
208
209 <para>Create the <filename>/etc/mail/local-host-names</filename> and
210 <filename>/etc/mail/aliases</filename> files using the following
211 commands as the <systemitem class="username">root</systemitem>
212 user:</para>
213
214<screen role="root"><userinput>echo $(hostname) > /etc/mail/local-host-names
215cat &gt; /etc/mail/aliases &lt;&lt; "EOF"
216<literal>postmaster: root
217MAILER-DAEMON: root</literal>
218
219EOF
220newaliases -v</userinput></screen>
221
222 <para><application>sendmail</application>'s primary configuration file,
223 <filename>/etc/mail/sendmail.cf</filename>, is complex and not meant to be
224 directly edited. The recommended method for changing it is to modify
225 <filename>/etc/mail/sendmail.mc</filename> and various
226 <application>m4</application> files, then run the <command>m4</command>
227 macro processor from within
228 <filename class='directory'>/etc/mail</filename> as follows:</para>
229
230<screen role="root"><userinput>m4 m4/cf.m4 sendmail.mc > sendmail.cf</userinput></screen>
231
232 <para>A full explanation of the files to modify, and the available
233 parameters can be found in <filename>/etc/mail/README</filename>.</para>
234
235 </sect3>
236
237 <sect3 id="sendmail-init">
238 <title>Boot Script</title>
239
240 <para>To automate the running of <application>sendmail</application>
241 at startup, install the <filename>/etc/rc.d/init.d/sendmail</filename>
242 init script included in the
243 <xref linkend="bootscripts"/> package.</para>
244
245 <indexterm zone="sendmail sendmail-init">
246 <primary sortas="f-sendmail-init">sendmail</primary>
247 </indexterm>
248
249<screen role="root"><userinput>make install-sendmail</userinput></screen>
250
251 <note>
252 <para>The -qNm option to <command>sendmail</command>, where N is number
253 of minutes, controls how often <application>sendmail</application> will
254 process the mail queue. A default of 5 minutes is used in the init
255 script. Individual workstation users may want to set this as low as 1
256 minute, large installations handling more mail may want to set it
257 higher.</para>
258 </note>
259
260 </sect3>
261
262 </sect2>
263
264 <sect2 role="content">
265 <title>Contents</title>
266
267 <segmentedlist>
268 <segtitle>Installed Programs</segtitle>
269 <segtitle>Installed Libraries</segtitle>
270 <segtitle>Installed Directories</segtitle>
271
272 <seglistitem>
273 <seg>editmap, hoststat, mailstats, mailq, makemap, newaliases,
274 praliases, purgestat, sendmail, smrsh, and vacation</seg>
275 <seg>None</seg>
276 <seg>/etc/mail, /usr/share/doc/sendmail-&sendmail-version;,
277 /var/spool/mqueue, and /var/spool/clientmqueue</seg>
278 </seglistitem>
279 </segmentedlist>
280
281 <variablelist>
282 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
283 <?dbfo list-presentation="list"?>
284 <?dbhtml list-presentation="table"?>
285
286 <varlistentry id="editmap">
287 <term><command>editmap</command></term>
288 <listitem>
289 <para>queries and edits <application>sendmail</application> map
290 files.</para>
291 <indexterm zone="sendmail editmap">
292 <primary sortas="b-editmap">editmap</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 <varlistentry id="hoststat">
298 <term><command>hoststat</command></term>
299 <listitem>
300 <para>prints <application>sendmail</application>'s persistent host
301 status.</para>
302 <indexterm zone="sendmail hoststat">
303 <primary sortas="b-hoststat">hoststat</primary>
304 </indexterm>
305 </listitem>
306 </varlistentry>
307
308 <varlistentry id="mailstats">
309 <term><command>mailstats</command></term>
310 <listitem>
311 <para>displays <application>sendmail</application> statistics.</para>
312 <indexterm zone="sendmail mailstats">
313 <primary sortas="b-mailstats">mailstats</primary>
314 </indexterm>
315 </listitem>
316 </varlistentry>
317
318 <varlistentry id="mailq-sendmail">
319 <term><command>mailq</command></term>
320 <listitem>
321 <para>prints a summary of outbound mail messages waiting for
322 delivery.</para>
323 <indexterm zone="sendmail mailq-sendmail">
324 <primary sortas="b-mailq">mailq</primary>
325 </indexterm>
326 </listitem>
327 </varlistentry>
328
329 <varlistentry id="makemap">
330 <term><command>makemap</command></term>
331 <listitem>
332 <para>creates <application>sendmail</application> map files.</para>
333 <indexterm zone="sendmail makemap">
334 <primary sortas="b-makemap">makemap</primary>
335 </indexterm>
336 </listitem>
337 </varlistentry>
338
339 <varlistentry id="newaliases-sendmail">
340 <term><command>newaliases</command></term>
341 <listitem>
342 <para>rebuilds <filename>/etc/mail/aliases.db</filename> from the
343 contents of <filename>/etc/mail/aliases</filename>.</para>
344 <indexterm zone="sendmail newaliases-sendmail">
345 <primary sortas="b-newaliases">newaliases</primary>
346 </indexterm>
347 </listitem>
348 </varlistentry>
349
350 <varlistentry id="praliases">
351 <term><command>praliases</command></term>
352 <listitem>
353 <para>displays current <application>sendmail</application>
354 aliases.</para>
355 <indexterm zone="sendmail praliases">
356 <primary sortas="b-praliases">praliases</primary>
357 </indexterm>
358 </listitem>
359 </varlistentry>
360
361 <varlistentry id="purgestat">
362 <term><command>purgestat</command></term>
363 <listitem>
364 <para> causes <application>sendmail</application> to clear (purge)
365 all its host-status information.</para>
366 <indexterm zone="sendmail purgestat">
367 <primary sortas="b-purgestat">purgestat</primary>
368 </indexterm>
369 </listitem>
370 </varlistentry>
371
372 <varlistentry id="sendmail-prog-sendmail">
373 <term><command>sendmail</command></term>
374 <listitem>
375 <para>is the <application>sendmail</application> mail transport
376 agent.</para>
377 <indexterm zone="sendmail sendmail-prog-sendmail">
378 <primary sortas="b-sendmail">sendmail</primary>
379 </indexterm>
380 </listitem>
381 </varlistentry>
382
383 <varlistentry id="smrsh">
384 <term><command>smrsh</command></term>
385 <listitem>
386 <para>is a restricted shell for
387 <application>sendmail</application>.</para>
388 <indexterm zone="sendmail smrsh">
389 <primary sortas="b-smrsh">smrsh</primary>
390 </indexterm>
391 </listitem>
392 </varlistentry>
393
394 <varlistentry id="vacation-sendmail">
395 <term><command>vacation</command></term>
396 <listitem>
397 <para>is an email auto responder.</para>
398 <indexterm zone="sendmail vacation-sendmail">
399 <primary sortas="b-vacation">vacation</primary>
400 </indexterm>
401 </listitem>
402 </varlistentry>
403
404 </variablelist>
405
406 </sect2>
407
408</sect1>
Note: See TracBrowser for help on using the repository browser.