glfs/server/mail/sendmail.xml

415 lines
15 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!-- Inserted as a reminder to do this. The mention of a test suite
is usually right before the root user installation commands. Please
delete these 12 (including one blank) lines after you are done.-->
<!-- Use one of the two mentions below about a test suite,
delete the line that is not applicable. Of course, if the
test suite uses syntax other than "make check", revise the
line to reflect the actual syntax to run the test suite -->
<!-- <para>This package does not come with a test suite.</para> -->
<!-- <para>To test the results, issue: <command>make check</command>.</para> -->
<!ENTITY sendmail-download-http "http://www.sendmail.org/ftp/sendmail.&sendmail-version;.tar.gz">
<!ENTITY sendmail-download-ftp "ftp://ftp.sendmail.org/pub/sendmail/sendmail.&sendmail-version;.tar.gz">
<!ENTITY sendmail-md5sum "484cca51f74b5e562b3cf119ceb2f900">
<!ENTITY sendmail-size "1.9 MB">
<!ENTITY sendmail-buildsize "19.8 MB">
<!ENTITY sendmail-time "0.5 SBU">
]>
<sect1 id="sendmail" xreflabel="Sendmail-&sendmail-version;">
<?dbhtml filename="sendmail.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>Sendmail-&sendmail-version;</title>
<indexterm zone="sendmail">
<primary sortas="a-Sendmail">Sendmail</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Sendmail</title>
<para>The <application>Sendmail</application> package contains a Mail
Transport Agent (MTA).</para>
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&sendmail-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&sendmail-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &sendmail-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &sendmail-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &sendmail-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &sendmail-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Sendmail Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required"><xref linkend="procmail"/></para>
<!-- <xref linkend="db"/> -->
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional"><xref linkend="openssl"/>,
<xref linkend="openldap"/>,
<xref linkend="tcpwrappers"/>,
<xref linkend="cyrus-sasl"/>,
<ulink url="http://www.feep.net/nph/">nph</ulink>, and
<xref linkend="gs"/> or <xref linkend="espgs"/> (for creating
PDF documentation)</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/sendmail"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of Sendmail</title>
<para>Before building <application>Sendmail</application>, create the
required user, group and directory with the following commands issued as
the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>groupadd -g 26 smmsp &amp;&amp;
useradd -c "Sendmail Daemon" -g smmsp -d /dev/null \
-s /bin/false -u 26 smmsp &amp;&amp;
chmod -v 1777 /var/mail &amp;&amp;
install -v -m700 -d /var/spool/mqueue</userinput></screen>
<para><emphasis>Note:</emphasis> See the source tree
<filename>sendmail/README</filename> file for information on linking
optional packages into the build. Use the example below, which adds
support for <application>tcpwrappers</application>, SASL, StartTLS
(<application>OpenSSL</application>) and
<application>OpenLDAP</application>, as a starting point.
Of course, modify it to suit your particular needs.</para>
<screen><userinput>cat &gt;&gt; devtools/Site/site.config.m4 &lt;&lt; "EOF"
<literal>APPENDDEF(`confENVDEF',`-DSTARTTLS -DTCPWRAPPERS -DSASL -DLDAPMAP')
APPENDDEF(`confLIBS', `-lssl -lcrypto -lwrap -lsasl2 -lldap -llber')
APPENDDEF(`confINCDIRS', `-I/usr/include/sasl')</literal>
EOF</userinput></screen>
<para>Install <application>Sendmail</application> with the following
commands:</para>
<screen><userinput>cat &gt;&gt; devtools/Site/site.config.m4 &lt;&lt; "EOF"
<literal>define(`confMANGRP',`root')
define(`confMANOWN',`root')
define(`confSBINGRP',`root')
define(`confUBINGRP',`root')
define(`confUBINOWN',`root')</literal>
EOF
cd sendmail &amp;&amp;
sh Build &amp;&amp;
cd ../cf/cf &amp;&amp;
cp generic-linux.mc sendmail.mc &amp;&amp;
sh Build sendmail.cf</userinput></screen>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>install -v -d -m755 /etc/mail &amp;&amp;
sh Build install-cf &amp;&amp;
cd ../.. &amp;&amp;
sh Build install &amp;&amp;
install -v -m644 cf/cf/{submit,sendmail}.mc /etc/mail &amp;&amp;
cp -v -R cf/* /etc/mail &amp;&amp;
install -v -m755 -d /usr/share/doc/sendmail-&sendmail-version;/{cf,sendmail} &amp;&amp;
install -v -m644 \
CACerts FAQ KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \
/usr/share/doc/sendmail-&sendmail-version; &amp;&amp;
install -v -m644 sendmail/{README,SECURITY,TRACEFLAGS,TUNING} \
/usr/share/doc/sendmail-&sendmail-version;/sendmail &amp;&amp;
install -v -m644 cf/README /usr/share/doc/sendmail-&sendmail-version;/cf &amp;&amp;
for manpage in sendmail editmap mailstats makemap praliases smrsh
do
install -v -m444 $manpage/$manpage.8 /usr/share/man/man8
done &amp;&amp;
install -v -m444 sendmail/aliases.5 /usr/share/man/man5 &amp;&amp;
install -v -m444 sendmail/mailq.1 /usr/share/man/man1 &amp;&amp;
install -v -m444 sendmail/newaliases.1 /usr/share/man/man1 &amp;&amp;
install -v -m444 vacation/vacation.1 /usr/share/man/man1</userinput></screen>
<para>Install the <application>Sendmail</application> Installation and
Operations Guide with the following commands:</para>
<screen><userinput>cd doc/op &amp;&amp;
sed -i 's/groff/GROFF_NO_SGR=1 groff/' Makefile &amp;&amp;
make op.txt op.pdf</userinput></screen>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>install -v -d -m755 /usr/share/doc/sendmail-&sendmail-version; &amp;&amp;
install -v -m644 op.ps op.txt op.pdf /usr/share/doc/sendmail-&sendmail-version; &amp;&amp;
cd ../..</userinput></screen>
<para><emphasis>Note:</emphasis> remove <filename>op.pdf</filename> from
the <command>make</command> and <command>install</command> commands if
you don't have <application>Ghostscript</application> installed.</para>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para><command>cat &gt; devtools/Site/site.config.m4 &lt;&lt; "EOF"</command>:
This creates a configuration file changing some of the default settings.</para>
<para><command>sh Build; sh Build sendmail.cf; sh Build install-cf;
sh Build install</command>: <application>Sendmail</application> uses an
<application>m4</application> based build script to create the various
<filename>Makefile</filename>s. These commands build and install the
package.</para>
<para><command>for manpage in...;do...;done; install ...</command>: The man
pages are installed already formatted and <command>man</command> displays
them somewhat garbled. These commands replace the formatted pages with
pages <command>man</command> can display properly.</para>
</sect2>
<sect2 role="configuration">
<title>Configuring Sendmail</title>
<sect3 id="sendmail-config">
<title>Config Files</title>
<para><filename>/etc/mail/*</filename></para>
<indexterm zone="sendmail sendmail-config">
<primary sortas="e-etc-mail">/etc/mail/*</primary>
</indexterm>
</sect3>
<sect3>
<title>Configuration Information</title>
<para>Create the <filename>/etc/mail/local-host-names</filename> and
<filename>/etc/mail/aliases</filename> files using the following
commands as the <systemitem class="username">root</systemitem>
user:</para>
<screen role="root"><userinput>echo $(hostname) > /etc/mail/local-host-names
cat &gt; /etc/mail/aliases &lt;&lt; "EOF"
<literal>postmaster: root
MAILER-DAEMON: root</literal>
EOF
newaliases -v</userinput></screen>
<para><application>Sendmail</application>'s primary configuration file,
<filename>/etc/mail/sendmail.cf</filename>, is complex and not meant to be
directly edited. The recommended method for changing it is to modify
<filename>/etc/mail/sendmail.mc</filename> and various
<application>m4</application> files, then run the <command>m4</command>
macro processor from within
<filename class='directory'>/etc/mail</filename> as follows:</para>
<screen role="root"><userinput>m4 m4/cf.m4 sendmail.mc > sendmail.cf</userinput></screen>
<para>A full explanation of the files to modify, and the available
parameters can be found in <filename>/etc/mail/README</filename>.</para>
</sect3>
<sect3 id="sendmail-init">
<title>Boot Script</title>
<para>To automate the running of <application>Sendmail</application>
at startup, install the <filename>/etc/rc.d/init.d/sendmail</filename>
init script included in the
<xref linkend="bootscripts"/> package.</para>
<indexterm zone="sendmail sendmail-init">
<primary sortas="f-sendmail-init">sendmail</primary>
</indexterm>
<screen role="root"><userinput>make install-sendmail</userinput></screen>
<note>
<para>The -qNm option to <command>sendmail</command>, where N is number
of minutes, controls how often <application>Sendmail</application> will
process the mail queue. A default of 5 minutes is used in the init
script. Individual workstation users may want to set this as low as 1
minute, large installations handling more mail may want to set it
higher.</para>
</note>
</sect3>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>editmap, hoststat, mailstats, mailq, makemap, newaliases,
praliases, purgestat, sendmail, smrsh, and vacation</seg>
<seg>None</seg>
<seg>/etc/mail, /usr/share/doc/sendmail-&sendmail-version;,
/var/spool/mqueue, and /var/spool/clientmqueue</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="editmap">
<term><command>editmap</command></term>
<listitem>
<para>queries and edits <application>Sendmail</application> map
files.</para>
<indexterm zone="sendmail editmap">
<primary sortas="b-editmap">editmap</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="hoststat">
<term><command>hoststat</command></term>
<listitem>
<para>prints <application>Sendmail</application>'s persistent host
status.</para>
<indexterm zone="sendmail hoststat">
<primary sortas="b-hoststat">hoststat</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="mailstats">
<term><command>mailstats</command></term>
<listitem>
<para>displays <application>Sendmail</application> statistics.</para>
<indexterm zone="sendmail mailstats">
<primary sortas="b-mailstats">mailstats</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="mailq-sendmail">
<term><command>mailq</command></term>
<listitem>
<para>prints a summary of outbound mail messages waiting for
delivery.</para>
<indexterm zone="sendmail mailq-sendmail">
<primary sortas="b-mailq">mailq</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="makemap">
<term><command>makemap</command></term>
<listitem>
<para>creates <application>Sendmail</application> map files.</para>
<indexterm zone="sendmail makemap">
<primary sortas="b-makemap">makemap</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="newaliases-sendmail">
<term><command>newaliases</command></term>
<listitem>
<para>rebuilds <filename>/etc/mail/aliases.db</filename> from the
contents of <filename>/etc/mail/aliases</filename>.</para>
<indexterm zone="sendmail newaliases-sendmail">
<primary sortas="b-newaliases">newaliases</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="praliases">
<term><command>praliases</command></term>
<listitem>
<para>displays current <application>Sendmail</application>
aliases.</para>
<indexterm zone="sendmail praliases">
<primary sortas="b-praliases">praliases</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="purgestat">
<term><command>purgestat</command></term>
<listitem>
<para> causes <application>Sendmail</application> to clear (purge)
all its host-status information.</para>
<indexterm zone="sendmail purgestat">
<primary sortas="b-purgestat">purgestat</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="sendmail-prog-sendmail">
<term><command>sendmail</command></term>
<listitem>
<para>is the <application>Sendmail</application> mail transport
agent.</para>
<indexterm zone="sendmail sendmail-prog-sendmail">
<primary sortas="b-sendmail">sendmail</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="smrsh">
<term><command>smrsh</command></term>
<listitem>
<para>is a restricted shell for
<application>Sendmail</application>.</para>
<indexterm zone="sendmail smrsh">
<primary sortas="b-smrsh">smrsh</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="vacation-sendmail">
<term><command>vacation</command></term>
<listitem>
<para>is an email auto responder.</para>
<indexterm zone="sendmail vacation-sendmail">
<primary sortas="b-vacation">vacation</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>