source: server/mail/sendmail.xml@ 5156197

11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 5156197 was 45ab6c7, checked in by Xi Ruoyao <xry111@…>, 3 years ago

more SVN prop clean up

Remove "$LastChanged$" everywhere, and also some unused $Date$

  • Property mode set to 100644
File size: 17.2 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 <!-- Downloads a web page
8 <!ENTITY sendmail-download-http "http://www.sendmail.org/ftp/sendmail.&sendmail-version;.tar.gz"> -->
9 <!ENTITY sendmail-download-http " ">
10 <!ENTITY sendmail-download-ftp "ftp://ftp.sendmail.org/pub/sendmail/sendmail.&sendmail-version;.tar.gz">
11 <!ENTITY sendmail-md5sum "055f1d76c8027993a01ab6425aea4ae7">
12 <!ENTITY sendmail-size "2.1 MB">
13 <!ENTITY sendmail-buildsize "19 MB">
14 <!ENTITY sendmail-time "0.2 SBU">
15]>
16
17<sect1 id="sendmail" xreflabel="sendmail-&sendmail-version;">
18 <?dbhtml filename="sendmail.html"?>
19
20 <sect1info>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>sendmail-&sendmail-version;</title>
25
26 <indexterm zone="sendmail">
27 <primary sortas="a-sendmail">sendmail</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to sendmail</title>
32
33 <para>
34 The <application>sendmail</application> package contains a Mail
35 Transport Agent (MTA).
36 </para>
37
38 &lfs101_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&sendmail-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&sendmail-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &sendmail-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &sendmail-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &sendmail-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &sendmail-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73
74<!-- Sendmail 8.16.1 does have official support for OpenSSL 1.1
75 <itemizedlist spacing="compact">
76 <listitem>
77 <para>
78 Required patch:
79 <ulink url="&patch-root;/sendmail.&sendmail-version;-openssl-1.patch"/>
80 </para>
81 </listitem>
82 </itemizedlist>
83-->
84
85 <bridgehead renderas="sect3">sendmail Dependencies</bridgehead>
86
87 <bridgehead renderas="sect4">Required</bridgehead>
88 <para role="required">
89 <xref linkend="openldap"/> (client)
90 </para>
91
92 <bridgehead renderas="sect4">Recommended</bridgehead>
93 <para role="recommended">
94 <xref linkend="cyrus-sasl"/>
95 </para>
96
97 <bridgehead renderas="sect4">Optional</bridgehead>
98 <para role="optional">
99 <xref linkend="gs"/> (for creating PDF documentation),
100 <xref linkend="procmail"/> (the configuration proposed below requires
101 that <command>procmail</command> be present at run-time), and
102 <ulink url="https://github.com/chaos/nph">nph</ulink>
103 </para>
104
105 <para condition="html" role="usernotes">User Notes:
106 <ulink url="&blfs-wiki;/sendmail"/></para>
107
108 </sect2>
109
110 <sect2 role="installation">
111 <title>Installation of sendmail</title>
112
113 <para>
114 Before building <application>sendmail</application>, create the
115 required user, group and directory with the following commands issued as
116 the <systemitem class="username">root</systemitem> user:
117 </para>
118
119<screen role="root"><userinput>groupadd -g 26 smmsp &amp;&amp;
120useradd -c "Sendmail Daemon" -g smmsp -d /dev/null \
121 -s /bin/false -u 26 smmsp &amp;&amp;
122chmod -v 1777 /var/mail &amp;&amp;
123install -v -m700 -d /var/spool/mqueue</userinput></screen>
124
125 <note>
126 <para>
127 See the source tree <filename>sendmail/README</filename> file
128 for information on linking optional packages into the build. Use the
129 example below, which adds support for SASL, StartTLS
130 (<application>OpenSSL</application>) and
131 <application>OpenLDAP</application>, as a starting point. Of course,
132 modify it to suit your particular needs.
133 </para>
134 </note>
135
136<screen><userinput>cat &gt;&gt; devtools/Site/site.config.m4 &lt;&lt; "EOF"
137<literal>APPENDDEF(`confENVDEF',`-DSTARTTLS -DSASL -DLDAPMAP')
138APPENDDEF(`confLIBS', `-lssl -lcrypto -lsasl2 -lldap -llber -ldb')
139APPENDDEF(`confINCDIRS', `-I/usr/include/sasl')</literal>
140EOF</userinput></screen>
141
142 <para>
143 Install <application>sendmail</application> with the following commands:
144 </para>
145
146<screen><userinput>cat &gt;&gt; devtools/Site/site.config.m4 &lt;&lt; "EOF"
147<literal>define(`confMANGRP',`root')
148define(`confMANOWN',`root')
149define(`confSBINGRP',`root')
150define(`confUBINGRP',`root')
151define(`confUBINOWN',`root')</literal>
152EOF
153
154sed -i 's|/usr/man/man|/usr/share/man/man|' \
155 devtools/OS/Linux &amp;&amp;
156
157cd sendmail &amp;&amp;
158sh Build &amp;&amp;
159cd ../cf/cf &amp;&amp;
160cp generic-linux.mc sendmail.mc &amp;&amp;
161sh Build sendmail.cf</userinput></screen>
162
163 <para>
164 This package does not come with a test suite.
165 </para>
166
167<!-- When doing a DESTDIR= build, for example, for an update to check for new
168 installed files, you need to create $DEST/usr/{bin,sbin,share/man/man{1,5,8}
169 first. "sh Build" is a wrapper for Make, so it will accept DESTDIR=
170 as an argument. -->
171 <para>
172 Now, as the <systemitem class="username">root</systemitem> user:
173 </para>
174
175<screen role="root"><userinput>install -v -d -m755 /etc/mail &amp;&amp;
176sh Build install-cf &amp;&amp;
177
178cd ../.. &amp;&amp;
179sh Build install &amp;&amp;
180
181install -v -m644 cf/cf/{submit,sendmail}.mc /etc/mail &amp;&amp;
182cp -v -R cf/* /etc/mail &amp;&amp;
183
184install -v -m755 -d /usr/share/doc/sendmail-&sendmail-version;/{cf,sendmail} &amp;&amp;
185
186install -v -m644 CACerts FAQ KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \
187 /usr/share/doc/sendmail-&sendmail-version; &amp;&amp;
188
189install -v -m644 sendmail/{README,SECURITY,TRACEFLAGS,TUNING} \
190 /usr/share/doc/sendmail-&sendmail-version;/sendmail &amp;&amp;
191
192install -v -m644 cf/README /usr/share/doc/sendmail-&sendmail-version;/cf &amp;&amp;
193
194for manpage in sendmail editmap mailstats makemap praliases smrsh
195do
196 install -v -m644 $manpage/$manpage.8 /usr/share/man/man8
197done &amp;&amp;
198
199install -v -m644 sendmail/aliases.5 /usr/share/man/man5 &amp;&amp;
200install -v -m644 sendmail/mailq.1 /usr/share/man/man1 &amp;&amp;
201install -v -m644 sendmail/newaliases.1 /usr/share/man/man1 &amp;&amp;
202install -v -m644 vacation/vacation.1 /usr/share/man/man1</userinput></screen>
203
204 <para>
205 Install the <application>sendmail</application> Installation and
206 Operations Guide with the following commands:
207 </para>
208
209 <note>
210 <para>
211 Remove <filename>op.pdf</filename> from the <command>make</command>
212 and <command>install</command> commands below if
213 you don't have <application>Ghostscript</application> installed.
214 </para>
215 </note>
216
217<screen remap="doc"><userinput>cd doc/op &amp;&amp;
218sed -i 's/groff/GROFF_NO_SGR=1 groff/' Makefile &amp;&amp;
219make op.txt op.pdf</userinput></screen>
220
221 <para>
222 Now, as the <systemitem class="username">root</systemitem> user:
223 </para>
224
225<screen role="root"
226 remap="doc"><userinput>install -v -d -m755 /usr/share/doc/sendmail-&sendmail-version; &amp;&amp;
227install -v -m644 op.ps op.txt op.pdf /usr/share/doc/sendmail-&sendmail-version; &amp;&amp;
228cd ../..</userinput></screen>
229
230 </sect2>
231
232 <sect2 role="commands">
233 <title>Command Explanations</title>
234
235 <para>
236 <command>cat &gt; devtools/Site/site.config.m4 &lt;&lt; "EOF"</command>:
237 This creates a configuration file changing some of the default settings.
238 </para>
239
240 <para>
241 <command>sed ... devtools/OS/Linux</command>: The site.config.m4
242 does not honor a change to the man directory, so fix it in the OS
243 definitions.
244 </para>
245
246<!-- No longer valid with 8.16.1
247 <para>
248 <command>sed ... include/sm/bdb.h</command>: This allows sendmail to
249 build properly with <xref linkend='db'/> versions 5 and above.
250 </para>
251-->
252
253 <para>
254 <command>sh Build; sh Build sendmail.cf; sh Build install-cf;
255 sh Build install</command>: <application>sendmail</application> uses an
256 <application>m4</application> based build script to create the various
257 <filename>Makefile</filename>s. These commands build and install the
258 package.
259 </para>
260
261 <para>
262 <command>for manpage in...;do...;done; install ...</command>: The man
263 pages are installed already formatted and <command>man</command> displays
264 them somewhat garbled. These commands replace the formatted pages with
265 pages <command>man</command> can display properly.
266 </para>
267
268 </sect2>
269
270 <sect2 role="configuration">
271 <title>Configuring sendmail</title>
272
273 <sect3 id="sendmail-config">
274 <title>Config Files</title>
275
276 <para>
277 <filename>/etc/mail/*</filename>
278 </para>
279
280 <indexterm zone="sendmail sendmail-config">
281 <primary sortas="e-etc-mail">/etc/mail/*</primary>
282 </indexterm>
283
284 </sect3>
285
286 <sect3>
287 <title>Configuration Information</title>
288
289 <note>
290 <para>
291 Ensure you have a fully qualified domain name defined
292 in <filename>/etc/hosts</filename> for your system before proceeding.
293 </para>
294 </note>
295
296 <para>
297 Create the <filename>/etc/mail/local-host-names</filename> and
298 <filename>/etc/mail/aliases</filename> files using the following
299 commands as the <systemitem class="username">root</systemitem> user:
300 </para>
301
302<screen role="root"><userinput>echo $(hostname) > /etc/mail/local-host-names
303cat &gt; /etc/mail/aliases &lt;&lt; "EOF"
304<literal>postmaster: root
305MAILER-DAEMON: root</literal>
306
307EOF
308newaliases</userinput></screen>
309
310 <para>
311 <application>sendmail</application>'s primary configuration file,
312 <filename>/etc/mail/sendmail.cf</filename>, is complex and not meant to
313 be directly edited. The recommended method for changing it is to modify
314 <filename>/etc/mail/sendmail.mc</filename> and various
315 <application>m4</application> files, then run the <command>m4</command>
316 macro processor from within
317 <filename class='directory'>/etc/mail</filename> as follows:
318 </para>
319
320<screen role="root"><userinput>cd /etc/mail &amp;&amp;
321m4 m4/cf.m4 sendmail.mc > sendmail.cf</userinput></screen>
322
323 <para>
324 A full explanation of the files to modify, and the available
325 parameters can be found in <filename>/etc/mail/README</filename>.
326 </para>
327
328 </sect3>
329
330 <sect3 id="sendmail-init">
331 <title><phrase revision="sysv">Boot Script</phrase>
332 <phrase revision="systemd">Systemd Unit</phrase></title>
333
334 <para>
335 To automate the running of <application>sendmail</application>
336 at startup, install the
337 <phrase revision="sysv"><filename>/etc/rc.d/init.d/sendmail</filename>
338 init script</phrase>
339 <phrase revision="systemd"><filename>sendmail.service</filename>
340 unit</phrase> included in the
341 <xref linkend="bootscripts" revision="sysv"/>
342 <xref linkend="systemd-units" revision="systemd"/> package:
343 </para>
344
345 <indexterm zone="sendmail sendmail-init">
346 <primary sortas="f-sendmail-init">sendmail</primary>
347 </indexterm>
348
349<screen role="root"><userinput>make install-sendmail</userinput></screen>
350
351 <note>
352 <para>
353 The -qNm option to <command>sendmail</command>, where N is number
354 of minutes, controls how often <application>sendmail</application>
355 will process the mail queue. A default of 5 minutes is used in the
356 <phrase revision="sysv">init script.</phrase>
357 <phrase revision="systemd">systemd unit.</phrase> Individual
358 workstation users may want to set this as low as 1 minute, large
359 installations handling more mail may want to set it higher.
360 </para>
361 </note>
362
363 </sect3>
364
365 </sect2>
366
367 <sect2 role="content">
368 <title>Contents</title>
369
370 <segmentedlist>
371 <segtitle>Installed Programs</segtitle>
372 <segtitle>Installed Libraries</segtitle>
373 <segtitle>Installed Directories</segtitle>
374
375 <seglistitem>
376 <seg>editmap, mailstats, makemap, praliases, sendmail, smrsh,
377 and vacation; symlinks to /usr/sbin/sendmail: hoststat, mailq,
378 newaliases, and purgestat</seg>
379 <seg>None</seg>
380 <seg>/etc/mail, /usr/share/doc/sendmail-&sendmail-version;,
381 and /var/spool/clientmqueue</seg>
382 </seglistitem>
383 </segmentedlist>
384
385 <variablelist>
386 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
387 <?dbfo list-presentation="list"?>
388 <?dbhtml list-presentation="table"?>
389
390 <varlistentry id="editmap">
391 <term><command>editmap</command></term>
392 <listitem>
393 <para>
394 queries and edits <application>sendmail</application> map files
395 </para>
396 <indexterm zone="sendmail editmap">
397 <primary sortas="b-editmap">editmap</primary>
398 </indexterm>
399 </listitem>
400 </varlistentry>
401
402 <varlistentry id="hoststat">
403 <term><command>hoststat</command></term>
404 <listitem>
405 <para>
406 prints <application>sendmail</application>'s persistent host status
407 </para>
408 <indexterm zone="sendmail hoststat">
409 <primary sortas="b-hoststat">hoststat</primary>
410 </indexterm>
411 </listitem>
412 </varlistentry>
413
414 <varlistentry id="mailstats">
415 <term><command>mailstats</command></term>
416 <listitem>
417 <para>
418 displays <application>sendmail</application> statistics
419 </para>
420 <indexterm zone="sendmail mailstats">
421 <primary sortas="b-mailstats">mailstats</primary>
422 </indexterm>
423 </listitem>
424 </varlistentry>
425
426 <varlistentry id="mailq-sendmail">
427 <term><command>mailq</command></term>
428 <listitem>
429 <para>
430 prints a summary of outbound mail messages waiting for delivery
431 </para>
432 <indexterm zone="sendmail mailq-sendmail">
433 <primary sortas="b-mailq">mailq</primary>
434 </indexterm>
435 </listitem>
436 </varlistentry>
437
438 <varlistentry id="makemap">
439 <term><command>makemap</command></term>
440 <listitem>
441 <para>
442 creates <application>sendmail</application> map files
443 </para>
444 <indexterm zone="sendmail makemap">
445 <primary sortas="b-makemap">makemap</primary>
446 </indexterm>
447 </listitem>
448 </varlistentry>
449
450 <varlistentry id="newaliases-sendmail">
451 <term><command>newaliases</command></term>
452 <listitem>
453 <para>
454 rebuilds <filename>/etc/mail/aliases.db</filename> from the
455 contents of <filename>/etc/mail/aliases</filename>
456 </para>
457 <indexterm zone="sendmail newaliases-sendmail">
458 <primary sortas="b-newaliases">newaliases</primary>
459 </indexterm>
460 </listitem>
461 </varlistentry>
462
463 <varlistentry id="praliases">
464 <term><command>praliases</command></term>
465 <listitem>
466 <para>
467 displays current <application>sendmail</application> aliases
468 </para>
469 <indexterm zone="sendmail praliases">
470 <primary sortas="b-praliases">praliases</primary>
471 </indexterm>
472 </listitem>
473 </varlistentry>
474
475 <varlistentry id="purgestat">
476 <term><command>purgestat</command></term>
477 <listitem>
478 <para>
479 causes <application>sendmail</application> to clear (purge)
480 all its host-status information
481 </para>
482 <indexterm zone="sendmail purgestat">
483 <primary sortas="b-purgestat">purgestat</primary>
484 </indexterm>
485 </listitem>
486 </varlistentry>
487
488 <varlistentry id="sendmail-prog-sendmail">
489 <term><command>sendmail</command></term>
490 <listitem>
491 <para>
492 is the <application>sendmail</application> mail transport agent
493 </para>
494 <indexterm zone="sendmail sendmail-prog-sendmail">
495 <primary sortas="b-sendmail">sendmail</primary>
496 </indexterm>
497 </listitem>
498 </varlistentry>
499
500 <varlistentry id="smrsh">
501 <term><command>smrsh</command></term>
502 <listitem>
503 <para>
504 is a restricted shell for <application>sendmail</application>
505 </para>
506 <indexterm zone="sendmail smrsh">
507 <primary sortas="b-smrsh">smrsh</primary>
508 </indexterm>
509 </listitem>
510 </varlistentry>
511
512 <varlistentry id="vacation-sendmail">
513 <term><command>vacation</command></term>
514 <listitem>
515 <para>
516 is an email auto responder
517 </para>
518 <indexterm zone="sendmail vacation-sendmail">
519 <primary sortas="b-vacation">vacation</primary>
520 </indexterm>
521 </listitem>
522 </varlistentry>
523
524 </variablelist>
525
526 </sect2>
527
528</sect1>
Note: See TracBrowser for help on using the repository browser.