[system-administrators-guide] Updates after technical review

stephenw stephenw at fedoraproject.org
Thu Oct 23 20:33:40 UTC 2014


commit 77aa47524fbe07b84c0058104f7065a30d7cb77f
Author: Stephen Wadeley <swadeley at redhat.com>
Date:   Thu Oct 23 22:31:45 2014 +0200

    Updates after technical review
    
    in en-US/Mail_Servers.xml
    thank you to all package owners

 en-US/Mail_Servers.xml |  260 +++++++++++++++++++++++++-----------------------
 1 files changed, 135 insertions(+), 125 deletions(-)
---
diff --git a/en-US/Mail_Servers.xml b/en-US/Mail_Servers.xml
index 9fc855e..2bfc83b 100644
--- a/en-US/Mail_Servers.xml
+++ b/en-US/Mail_Servers.xml
@@ -3,16 +3,9 @@
 ]>
 <chapter id="ch-Mail_Servers">
   <title>Mail Servers</title>
-  <indexterm
-    significance="normal">
-    <primary>email</primary>
-    <secondary>history of</secondary>
-  </indexterm>
-  <para>
-    <firstterm>Email</firstterm> was born in the 1960s. The mailbox was a file in a user's home directory that was readable only by that user. Primitive mail applications appended new text messages to the bottom of the file, making the user wade through the constantly growing file to find any particular message. This system was only capable of sending messages to users on the same system.</para>
-  <para>The first network transfer of an electronic mail message file took place in 1971 when a computer engineer named Ray Tomlinson sent a test message between two machines via ARPANET—the precursor to the Internet. Communication via email soon became very popular, comprising 75 percent of ARPANET's traffic in less than two years.</para>
-  <para>Today, email systems based on standardized network protocols have evolved into some of the most widely used services on the Internet. &MAJOROS; offers many advanced applications to serve and access email.</para>
-  <para>This chapter reviews modern email protocols in use today, and some of the programs designed to send and receive email.</para>
+
+ 
+  <para>&MAJOROS; offers many advanced applications to serve and access email. This chapter describes modern email protocols in use today, and some of the programs designed to send and receive email.</para>
   <section
     id="s1-email-protocols">
     <title>Email Protocols</title>
@@ -61,10 +54,10 @@
         </para>
         <note>
           <title>Installing the dovecot package</title>
-        <para>In order to use <application>Dovecot</application>, first ensure the <command>dovecot</command> package is installed on your system by running, as <systemitem class="username">root</systemitem>:
+        <para>In order to use <application>Dovecot</application>, first ensure the <package>dovecot</package> package is installed on your system by running, as <systemitem class="username">root</systemitem>:
         </para>
-        <screen><command>yum install dovecot</command></screen>
-        <para>For more information on installing packages with Yum, refer to <xref linkend="sec-Installing"/>.</para>
+        <screen>~]#&nbsp;<command>yum install dovecot</command></screen>
+        <para>For more information on installing packages with Yum, see <xref linkend="sec-Installing"/>.</para>
         </note>
         <para>
         When using a <systemitem class="protocol">POP</systemitem> server, email messages are downloaded by email client applications. By default, most <systemitem class="protocol">POP</systemitem> email clients are automatically configured to delete the message on the email server after it has been successfully transferred, however this setting usually can be changed.</para>
@@ -75,7 +68,7 @@
         <itemizedlist>
           <listitem>
             <para>
-              <emphasis>APOP</emphasis> — <systemitem class="protocol">POP3</systemitem> with <systemitem class="service">MDS</systemitem> (Monash Directory Service) authentication. An encoded hash of the user's password is sent from the email client to the server rather then sending an unencrypted password.</para>
+              <emphasis>APOP</emphasis> — <systemitem class="protocol">POP3</systemitem> with <systemitem class="service">MD5</systemitem> authentication. An encoded hash of the user's password is sent from the email client to the server rather than sending an unencrypted password.</para>
           </listitem>
           <listitem>
             <para>
@@ -86,7 +79,7 @@
               <emphasis>RPOP</emphasis> — <systemitem class="protocol">POP3</systemitem> with <systemitem class="server">RPOP</systemitem> authentication. This uses a per-user ID, similar to a password, to authenticate POP requests. However, this ID is not encrypted, so <systemitem class="protocol">RPOP</systemitem> is no more secure than standard <systemitem class="protocol">POP</systemitem>.</para>
           </listitem>
         </itemizedlist>
-        <para>For added security, it is possible to use <firstterm>Secure Socket Layer</firstterm> (<firstterm>SSL</firstterm>) encryption for client authentication and data transfer sessions. This can be enabled by using the <command>pop3s</command> service, or by using the <command>/usr/sbin/stunnel</command> application. For more information on securing email communication, refer to <xref linkend="s2-email-security"/>.</para>
+        <para>For added security, it is possible to use <firstterm>Secure Socket Layer</firstterm> (<firstterm>SSL</firstterm>) encryption for client authentication and data transfer sessions. This can be enabled by using the <command>pop3s</command> service, or by using the <command>stunnel</command> application. For more information on securing email communication, see <xref linkend="s2-email-security"/>.</para>
       </section>
       <section
         id="s3-email-protocols-imap">
@@ -102,7 +95,7 @@
         <para><systemitem class="protocol">IMAP</systemitem> is particularly useful for users who access their email using multiple machines. The protocol is also convenient for users connecting to the mail server via a slow connection, because only the email header information is downloaded for messages until opened, saving bandwidth. The user also has the ability to delete messages without viewing or downloading them.</para>
         <para>For convenience, <systemitem class="protocol">IMAP</systemitem> client applications are capable of caching copies of messages locally, so the user can browse previously read messages when not directly connected to the <systemitem class="protocol">IMAP</systemitem> server.</para>
         <para><systemitem class="protocol">IMAP</systemitem>, like <systemitem class="protocol">POP</systemitem>, is fully compatible with important Internet messaging standards, such as MIME, which allow for email attachments.</para>
-        <para>For added security, it is possible to use <systemitem class="protocol">SSL</systemitem> encryption for client authentication and data transfer sessions. This can be enabled by using the <command>imaps</command> service, or by using the <command>/usr/sbin/stunnel</command> program. For more information on securing email communication, refer to <xref linkend="s2-email-security"/>.</para>
+        <para>For added security, it is possible to use <systemitem class="protocol">SSL</systemitem> encryption for client authentication and data transfer sessions. This can be enabled by using the <command>imaps</command> service, or by using the <command>stunnel</command> program. For more information on securing email communication, see <xref linkend="s2-email-security"/>.</para>
         <para>Other free, as well as commercial, IMAP clients and servers are available, many of which extend the IMAP protocol and provide additional functionality.</para>
       </section>
       <section
@@ -119,19 +112,20 @@
           continuation="restarts"
           inheritnum="ignore">
           <listitem>
-            <para>Edit the <filename>/etc/dovecot/dovecot.conf</filename> configuration file to make sure the <literal>protocols</literal> variable is uncommented (remove the hash sign (<command>#</command>) at the beginning of the line) and contains the <literal>pop3</literal> argument. For example:</para>
+            <para>Edit the <filename>/etc/dovecot/dovecot.conf</filename> configuration file to make sure the <literal>protocols</literal> variable is uncommented (remove the hash sign (<literal>#</literal>) at the beginning of the line) and contains the <literal>pop3</literal> argument. For example:</para>
             <programlisting>protocols = imap imaps pop3 pop3s</programlisting>
             <para>
-              When the <literal>protocols</literal> variable is left commented out, <command>dovecot</command> will use the default values specified for this variable.
+              When the <literal>protocols</literal> variable is left commented out, <command>dovecot</command> will use the default values as described above.
             </para>
           </listitem>
           <listitem>
-            <para>Make that change operational for the current session by running the following command as <systemitem class="username">root</systemitem>:</para>
-            <screen><command>systemctl restart dovecot.service</command></screen>
+            <para>Make the change operational for the current session by running the following command as <systemitem class="username">root</systemitem>:</para>
+            <screen>~]#&nbsp;<command>systemctl restart dovecot</command></screen>
           </listitem>
           <listitem>
-            <para>Make that change operational after the next reboot by running the command:</para>
-            <screen><command>systemctl enable dovecot.service</command></screen>
+            <para>Make the change operational after the next reboot by running the command:</para>
+            <screen>~]#&nbsp;<command>systemctl enable dovecot</command>
+ln -s '/usr/lib/systemd/system/dovecot' '/etc/systemd/system/multi-user.target.wants/dovecot'</screen>
           <note>
             <title>The dovecot service starts the POP3 server</title>
               <para>
@@ -150,8 +144,8 @@
               <para>Rename, move or delete the files <filename>/etc/pki/dovecot/certs/dovecot.pem</filename> and <filename>/etc/pki/dovecot/private/dovecot.pem</filename>.</para>
             </listitem>
             <listitem>
-              <para>Execute the <filename>/usr/libexec/dovecot/mkcert.sh</filename> script which creates the <command>dovecot</command> self signed certificates. These certificates are copied in the <filename>/etc/pki/dovecot/certs</filename> and <filename>/etc/pki/dovecot/private</filename> directories. To implement the changes, restart <command>dovecot</command> by typing the following at a shell prompt as <systemitem class="username">root</systemitem>:</para>
-              <screen><command>systemctl restart dovecot.service</command></screen>
+              <para>Execute the <filename>/usr/libexec/dovecot/mkcert.sh</filename> script which creates the <command>dovecot</command> self signed certificates. These certificates are copied in the <filename>/etc/pki/dovecot/certs</filename> and <filename>/etc/pki/dovecot/private</filename> directories. To implement the changes, restart <command>dovecot</command> by issuing the following command as <systemitem class="username">root</systemitem>:</para>
+              <screen>~]#&nbsp;<command>systemctl restart dovecot</command></screen>
             </listitem>
           </itemizedlist>
           <para>
@@ -191,8 +185,8 @@
       <para>A <firstterm>Mail Transport Agent</firstterm> (<firstterm>MTA</firstterm>) transports email messages between hosts using <systemitem class="protocol">SMTP</systemitem>. A message may involve several MTAs as it moves to its intended destination.</para>
       <para>While the delivery of messages between machines may seem rather straightforward, the entire process of deciding if a particular MTA can or should accept a message for delivery is quite complicated. In addition, due to problems from spam, use of a particular MTA is usually restricted by the MTA's configuration or the access configuration for the network on which the MTA resides.</para>
       <para>Many modern email client programs can act as an MTA when sending email. However, this action should not be confused with the role of a true MTA. The sole reason email client programs are capable of sending email like an MTA is because the host running the application does not have its own MTA. This is particularly true for email client programs on non-UNIX-based operating systems. However, these client programs only send outbound messages to an MTA they are authorized to use and do not directly deliver the message to the intended recipient's email server.</para>
-      <para>Since &MAJOROS; offers two MTAs—<firstterm>Postfix</firstterm> and <firstterm>Sendmail</firstterm>—email client programs are often not required to act as an MTA. &MAJOROS; also includes a special purpose MTA called <firstterm>Fetchmail</firstterm>.</para>
-      <para>For more information on Postfix, Sendmail, and Fetchmail, refer to <xref
+      <para>Since &MAJOROS; offers two MTAs, <firstterm>Postfix</firstterm> and <firstterm>Sendmail</firstterm>, email client programs are often not required to act as an MTA. &MAJOROS; also includes a special purpose MTA called <firstterm>Fetchmail</firstterm>.</para>
+      <para>For more information on Postfix, Sendmail, and Fetchmail, see <xref
           linkend="s1-email-mta"/>.</para>
     </section>
     <section
@@ -236,19 +230,26 @@
         <primary>MUA</primary>
         <see>Mail User Agent</see>
       </indexterm>
-      <para>A <firstterm>Mail User Agent</firstterm> (<firstterm>MUA</firstterm>) is synonymous with an email client application. An MUA is a program that, at the very least, allows a user to read and compose email messages. Many MUAs are capable of retrieving messages via the <systemitem class="protocol">POP</systemitem> or <systemitem class="protocol">IMAP</systemitem> protocols, setting up mailboxes to store messages, and sending outbound messages to an MTA.</para>
-      <para>MUAs may be graphical, such as <application>Evolution</application>, or have simple text-based interfaces, such as <application>pine</application>.</para>
+      <para>A <firstterm>Mail User Agent</firstterm> (<firstterm>MUA</firstterm>) is synonymous with an email client application. An MUA is a program that, at a minimum, allows a user to read and compose email messages. Many MUAs are capable of retrieving messages via the <systemitem class="protocol">POP</systemitem> or <systemitem class="protocol">IMAP</systemitem> protocols, setting up mailboxes to store messages, and sending outbound messages to an MTA.</para>
+      <para>MUAs may be graphical, such as <application>Evolution</application>, or have simple text-based interfaces, such as <application>Mutt</application>.</para>
     </section>
   </section>
   <section
     id="s1-email-mta">
     <title>Mail Transport Agents</title>
-    <para>&MAJOROS; offers two primary MTAs: Postfix and Sendmail. Postfix is configured as the default MTA, although it is easy to switch the default MTA to Sendmail. To switch the default MTA to Sendmail, as <systemitem class="username">root</systemitem>, you can either uninstall Postfix or use the following command to switch to Sendmail:</para>
-    <screen><command>alternatives --config mta</command></screen>
+    <para>&MAJOROS; offers two primary MTAs: Postfix and Sendmail. Postfix is configured as the default MTA and Sendmail is considered deprecated. If required to switch the default MTA to Sendmail, you can either uninstall Postfix or use the following command as <systemitem class="username">root</systemitem> to switch to Sendmail:</para>
+    <screen>~]#&nbsp;<command>alternatives --config mta</command></screen>
+    <para>
+      You can also use the following command to enable the desired service:
+    </para>
+    <screen>~]#&nbsp;<command>systemctl enable <replaceable>service</replaceable></command></screen>
     <para>
-     You can also use the following command to enable/disable the desired service:
+      Similarly, to disable the service, type the following at a shell prompt:
+    </para>
+    <screen>~]#&nbsp;<command>systemctl disable <replaceable>service</replaceable></command></screen>
+    <para>
+      For more information on how to manage system services in &MAJOROSVER;, see <xref linkend="ch-Services_and_Daemons" />.
     </para>
-    <screen><command>systemctl enable|disable <replaceable>service</replaceable>.service</command></screen> 
     <section
       id="s2-email-mta-postfix">
       <title>Postfix</title>
@@ -303,12 +304,12 @@
         </para>
         <important>
           <title>Configuring Postfix as a server for other clients</title>
-          <para>The default <filename>/etc/postfix/main.cf</filename> file does not allow Postfix to accept network connections from a host other than the local computer. For instructions on configuring Postfix as a server for other clients, refer to <xref
+          <para>The default <filename>/etc/postfix/main.cf</filename> file does not allow Postfix to accept network connections from a host other than the local computer. For instructions on configuring Postfix as a server for other clients, see <xref
               linkend="s3-email-mta-postfix-conf"/>.</para>
         </important>
         <para>
         Restart the <systemitem class="service">postfix</systemitem> service after changing any options in the configuration files under the <filename>/etc/postfix</filename> directory in order for those changes to take effect. To do so, run the following command as <systemitem class="username">root</systemitem>:
-        <screen><command>systemctl restart postfix.service</command></screen> 
+        <screen>~]#&nbsp;<command>systemctl restart postfix</command></screen>
         </para>
       </section>
       <section
@@ -320,13 +321,13 @@
             <para>Edit the <filename>/etc/postfix/main.cf</filename> file with a text editor, such as <command>vi</command>.</para>
           </listitem>
           <listitem>
-            <para>Uncomment the <command>mydomain</command> line by removing the hash sign (<command>#</command>), and replace <replaceable>domain.tld</replaceable> with the domain the mail server is servicing, such as <command>example.com</command>.</para>
+            <para>Uncomment the <command>mydomain</command> line by removing the hash sign (<literal>#</literal>), and replace <replaceable>domain.tld</replaceable> with the domain the mail server is servicing, such as <command>example.com</command>.</para>
           </listitem>
           <listitem>
             <para>Uncomment the <command>myorigin = $mydomain</command> line.</para>
           </listitem>
           <listitem>
-            <para>Uncomment the <command>myhostname</command> line, and replace <replaceable>host.domain.tld</replaceable> with the hostname for the machine.</para>
+            <para>Uncomment the <command>myhostname</command> line, and replace <replaceable>host.domain.tld</replaceable> with the host name for the machine.</para>
           </listitem>
           <listitem>
             <para>Uncomment the <command>mydestination = $myhostname, localhost.$mydomain</command> line.</para>
@@ -355,11 +356,11 @@
         </para>
         <section id="aliases-example">
           <title>The /etc/aliases lookup example</title>
-          <para>The following is a basic example for using <systemitem class="protocol">LDAP</systemitem> to look up the <filename>/etc/aliases</filename> file. Make sure your <filename>/etc/postfix/main.cf</filename> contains the following: 
+          <para>The following is a basic example for using <systemitem class="protocol">LDAP</systemitem> to look up the <filename>/etc/aliases</filename> file. Make sure your <filename>/etc/postfix/main.cf</filename> file contains the following: 
           </para>
           <programlisting>alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cf</programlisting>
           <para>
-            Create a <filename>/etc/postfix/ldap-aliases.cf</filename> file if you do not have one created already and make sure it contains the following:
+            Create a <filename>/etc/postfix/ldap-aliases.cf</filename> file if you do not have one already and make sure it contains the following:
           </para>
           <programlisting>server_host = <replaceable>ldap.example.com</replaceable>
 search_base = dc=<replaceable>example</replaceable>, dc=<replaceable>com</replaceable></programlisting>
@@ -369,10 +370,10 @@ search_base = dc=<replaceable>example</replaceable>, dc=<replaceable>com</replac
           <note>
             <title>The /etc/postfix/ldap-aliases.cf file</title>
               <para>
-                The <filename>/etc/postfix/ldap-aliases.cf</filename> file can specify various parameters, including parameters that enable <systemitem class="protocol">LDAP</systemitem> <systemitem class="protocol">SSL</systemitem> and <systemitem class="protocol">STARTTLS</systemitem>. For more information, refer to the <command>ldap_table(5)</command> man page.
+                The <filename>/etc/postfix/ldap-aliases.cf</filename> file can specify various parameters, including parameters that enable <systemitem class="protocol">LDAP</systemitem> <systemitem class="protocol">SSL</systemitem> and <systemitem class="protocol">STARTTLS</systemitem>. For more information, see the <filename>ldap_table(5)</filename> man page.
               </para>
           </note>
-          <para>For more information on <systemitem class="protocol">LDAP</systemitem>, refer to <xref linkend="s1-OpenLDAP" />.
+          <para>For more information on <systemitem class="protocol">LDAP</systemitem>, see <xref linkend="s1-OpenLDAP" />.
           </para>
         </section>
       </section>
@@ -389,7 +390,7 @@ search_base = dc=<replaceable>example</replaceable>, dc=<replaceable>com</replac
         significance="normal">
         <primary>Sendmail</primary>
       </indexterm>
-      <para>Sendmail's core purpose, like other MTAs, is to safely transfer email among hosts, usually using the <systemitem class="protocol">SMTP</systemitem> protocol. However, Sendmail is highly configurable, allowing control over almost every aspect of how email is handled, including the protocol used. Many system administrators elect to use Sendmail as their MTA due to its power and scalability.</para>
+      <para>Sendmail's core purpose, like other MTAs, is to safely transfer email among hosts, usually using the <systemitem class="protocol">SMTP</systemitem> protocol. Note that Sendmail is considered deprecated and users are encouraged to use Postfix when possible. See <xref linkend="s2-email-mta-postfix" /> for more information.</para>
       <section
         id="s3-email-mta-sendmail-purpose">
         <title>Purpose and Limitations</title>
@@ -417,24 +418,22 @@ search_base = dc=<replaceable>example</replaceable>, dc=<replaceable>com</replac
           <secondary>default installation</secondary>
         </indexterm>
         <para>In order to use Sendmail, first ensure the <package>sendmail</package> package is installed on your system by running, as <systemitem class="username">root</systemitem>:</para>
-          <screen><command>yum install sendmail</command></screen>
+          <screen>~]#&nbsp;<command>yum install sendmail</command></screen>
         <para>
           In order to configure Sendmail, ensure the <package>sendmail-cf</package> package is installed on your system by running, as <systemitem class="username">root</systemitem>:
         </para>
-        <screen><command>yum install sendmail-cf</command></screen>
-        <para>For more information on installing packages with Yum, refer to <xref linkend="sec-Installing"/>.</para>
+        <screen>~]#&nbsp;<command>yum install sendmail-cf</command></screen>
+        <para>For more information on installing packages with Yum, see <xref linkend="sec-Installing"/>.</para>
         <para>
           Before using Sendmail, the default MTA has to be switched from Postfix. For more information how to switch the default MTA refer to <xref linkend="s1-email-mta"/>.
         </para>
         <para>The Sendmail executable is <filename>/usr/sbin/sendmail</filename>.</para>
-        <para>Sendmail's lengthy and detailed configuration file is <filename>/etc/mail/sendmail.cf</filename>. Avoid editing the <filename>sendmail.cf</filename> file directly. To make configuration changes to Sendmail, edit the <filename>/etc/mail/sendmail.mc</filename> file, back up the original <filename>/etc/mail/sendmail.cf</filename>, and use the following alternatives to generate a new configuration file:</para>
+        <para>Sendmail's lengthy and detailed configuration file is <filename>/etc/mail/sendmail.cf</filename>. Avoid editing the <filename>sendmail.cf</filename> file directly. To make configuration changes to Sendmail, edit the <filename>/etc/mail/sendmail.mc</filename> file, back up the original <filename>/etc/mail/sendmail.cf</filename> file, and use the following alternatives to generate a new configuration file:</para>
         <itemizedlist>
           <listitem>
-            <para>Use the included makefile in <filename>/etc/mail/</filename> (<command>~]#&#160;make all -C /etc/mail/</command>) to create a new <filename>/etc/mail/sendmail.cf</filename> configuration file. All other generated files in <filename>/etc/mail</filename> (db files) will be regenerated if needed. The old makemap commands are still usable. The make command will automatically be used by <command>systemctl start|restart|reload sendmail.service</command>.</para>
-          </listitem>
-          <listitem>
-            <para>Alternatively you may use the <command>m4</command> macro processor to create a new <filename>/etc/mail/sendmail.cf</filename>. The <command>m4</command> macro processor is not installed by default. Before using it to create <filename>/etc/mail/sendmail.cf</filename>, install the <package>m4</package> package as <systemitem class="username">root</systemitem>:</para>
-            <screen><command>yum install m4</command></screen>
+            <para>Use the included makefile in <filename>/etc/mail/</filename> to create a new <filename>/etc/mail/sendmail.cf</filename> configuration file:</para>
+            <screen>~]#&nbsp;<command>make all -C /etc/mail/</command></screen>
+            <para>All other generated files in <filename>/etc/mail</filename> (db files) will be regenerated if needed. The old makemap commands are still usable. The make command is automatically used whenever you start or restart the <systemitem class="service">sendmail</systemitem> service.</para>
           </listitem>
         </itemizedlist>
         <para>More information on configuring Sendmail can be found in <xref
@@ -462,16 +461,27 @@ search_base = dc=<replaceable>example</replaceable>, dc=<replaceable>com</replac
               <filename>virtusertable</filename> — Specifies a domain-specific form of aliasing, allowing multiple virtual domains to be hosted on one machine.</para>
           </listitem>
         </itemizedlist>
-        <para>Several of the configuration files in <filename>/etc/mail/</filename>, such as <filename>access</filename>, <filename>domaintable</filename>, <filename>mailertable</filename> and <filename>virtusertable</filename>, must actually store their information in database files before Sendmail can use any configuration changes. To include any changes made to these configurations in their database files, run the following command, as <systemitem class="username">root</systemitem>:</para>
-        <screen><command>makemap hash /etc/mail/<replaceable>name</replaceable> &lt; /etc/mail/<replaceable>name</replaceable></command></screen> 
-        <para>where <replaceable>name</replaceable> represents the name of the configuration file to be updated.
+        <para>Several of the configuration files in <filename>/etc/mail/</filename>, such as <filename>access</filename>, <filename>domaintable</filename>, <filename>mailertable</filename> and <filename>virtusertable</filename>, must actually store their information in database files before Sendmail can use any configuration changes. To include any changes made to these configurations in their database files, run the following commands, as <systemitem class="username">root</systemitem>:
+        <screen>~]# <command>cd /etc/mail</command>
+~]# <command>make all</command></screen>
+This will update <filename>virtusertable.db</filename>, <filename>access.db</filename>, <filename>domaintable.db</filename>, <filename>mailertable.db</filename>, <filename>sendmail.cf</filename>, and <filename>submit.cf</filename>.</para>
+<para>
+To update all the database files listed above and to update a custom database file, use a command in the following format:
+<synopsis><command>make <replaceable>name&gt;.db</replaceable> all</command></synopsis>
+where <replaceable>name</replaceable> represents the name of the custom database file to be updated.</para>
+<para>
+To update a single database, use a command in the following format:
+<synopsis><command>make <replaceable>name&gt;.db</replaceable></command></synopsis>
+where <replaceable>name&gt;.db</replaceable> represents the name of the database file to be updated.</para>
+        <para>
         You may also restart the <systemitem class="service">sendmail</systemitem> service for the changes to take effect by running:</para>
-        <screen><command>systemctl restart sendmail.service</command></screen> 
-        <para>For example, to have all emails addressed to the <filename>example.com</filename> domain delivered to <email>bob at other-example.com</email>, add the following line to the <filename>virtusertable</filename> file:</para>
-        <programlisting><command>@example.com bob at other-example.com</command></programlisting>
+        <screen>~]#&nbsp;<command>systemctl restart sendmail</command></screen>
+        <para>For example, to have all emails addressed to the <filename>example.com</filename> domain delivered to <literal>bob at other-example.com</literal>, add the following line to the <filename>virtusertable</filename> file:</para>
+        <screen>
+<command>@example.com bob at other-example.com</command></screen>
         <para>To finalize the change, the <filename>virtusertable.db</filename> file must be updated:</para>
-        <screen><command>makemap hash /etc/mail/virtusertable &lt; /etc/mail/virtusertable</command></screen> 
-        <para>Sendmail will create an updated <filename>virtusertable.db</filename> file containing the new configuration.</para>
+        <screen>~]#&nbsp;<command>make <filename>virtusertable.db</filename> all</command></screen>
+        <para>Using the <option>all</option> option will result in the <filename>virtusertable.db</filename> and <filename>access.db</filename> being updated at the same time.</para>
       </section>
       <section
         id="s3-email-mta-sendmail-changes">
@@ -489,10 +499,10 @@ search_base = dc=<replaceable>example</replaceable>, dc=<replaceable>com</replac
         <para>When altering the Sendmail configuration file, it is best not to edit an existing file, but to generate an entirely new <filename>/etc/mail/sendmail.cf</filename> file.</para>
         <warning>
           <title>Backup the sendmail.cf file before changing its content</title>
-          <para>Before changing the <filename>sendmail.cf</filename> file, it is a good idea to create a backup copy.</para>
+          <para>Before replacing or making any changes to the <filename>sendmail.cf</filename> file, create a backup copy.</para>
         </warning>
         <para>To add the desired functionality to Sendmail, edit the <filename>/etc/mail/sendmail.mc</filename> file as <systemitem class="username">root</systemitem>. Once you are finished, restart the <systemitem class="service">sendmail</systemitem> service and, if the <package>m4</package> package is installed, the <command>m4</command> macro processor will automatically generate a new <filename>sendmail.cf</filename> configuration file:</para>
-        <screen><command>systemctl restart sendmail.service</command></screen> 
+        <screen>~]#&nbsp;<command>systemctl restart sendmail</command></screen>
         <!--mlichvar: also happens automatically
         When finished, use the <command>m4</command> macro processor to generate a new <filename>sendmail.cf</filename> by executing the following command:</para>
         <screen>
@@ -506,9 +516,9 @@ search_base = dc=<replaceable>example</replaceable>, dc=<replaceable>com</replac
         <important>
           <title>Configuring Sendmail as a server for other clients</title>
           <para>The default <filename>sendmail.cf</filename> file does not allow Sendmail to accept network connections from any host other than the local computer. To configure Sendmail as a server for other clients, edit the <filename>/etc/mail/sendmail.mc</filename> file, and either change the address specified in the <command>Addr=</command> option of the <command>DAEMON_OPTIONS</command> directive from <command>127.0.0.1</command> to the IP address of an active network device or comment out the <command>DAEMON_OPTIONS</command> directive all together by placing <command>dnl</command> at the beginning of the line. When finished, regenerate <filename>/etc/mail/sendmail.cf</filename> by restarting the service:</para>
-          <screen><command>systemctl restart sendmail.service</command></screen> 
+          <screen>~]#&nbsp;<command>systemctl restart sendmail</command></screen>
         </important>
-        <para>The default configuration which ships with &MAJOROS; works for most <systemitem class="protocol">SMTP</systemitem>-only sites. However, it does not work for <firstterm>UUCP</firstterm> (<firstterm>UNIX-to-UNIX Copy Protocol</firstterm>) sites. If using UUCP mail transfers, the <filename>/etc/mail/sendmail.mc</filename> file must be reconfigured and a new <filename>/etc/mail/sendmail.cf</filename> file must be generated.</para>
+        <para>The default configuration in &MAJOROS; works for most <systemitem class="protocol">SMTP</systemitem>-only sites. However, it does not work for <firstterm>UUCP</firstterm> (<firstterm>UNIX-to-UNIX Copy Protocol</firstterm>) sites. If using UUCP mail transfers, the <filename>/etc/mail/sendmail.mc</filename> file must be reconfigured and a new <filename>/etc/mail/sendmail.cf</filename> file must be generated.</para>
         <para>Consult the <filename>/usr/share/sendmail-cf/README</filename> file before editing any files in the directories under the <filename>/usr/share/sendmail-cf</filename> directory, as they can affect the future configuration of the <filename>/etc/mail/sendmail.cf</filename> file.</para>
       </section>
       <section
@@ -524,17 +534,17 @@ search_base = dc=<replaceable>example</replaceable>, dc=<replaceable>com</replac
           <primary>Sendmail</primary>
           <secondary>masquerading</secondary>
         </indexterm>
-        <para>One common Sendmail configuration is to have a single machine act as a mail gateway for all machines on the network. For instance, a company may want to have a machine called <computeroutput>mail.example.com</computeroutput> that handles all of their email and assigns a consistent return address to all outgoing mail.</para>
+        <para>One common Sendmail configuration is to have a single machine act as a mail gateway for all machines on the network. For example, a company may want to have a machine called <computeroutput>mail.example.com</computeroutput> that handles all of their email and assigns a consistent return address to all outgoing mail.</para>
         <para>In this situation, the Sendmail server must masquerade the machine names on the company network so that their return address is <computeroutput>user at example.com</computeroutput> instead of <computeroutput>user at host.example.com</computeroutput>.</para>
         <para>To do this, add the following lines to <filename>/etc/mail/sendmail.mc</filename>:</para>
         <programlisting>FEATURE(always_add_domain)dnl
 FEATURE(`masquerade_entire_domain')dnl
 FEATURE(`masquerade_envelope')dnl
 FEATURE(`allmasquerade')dnl
-MASQUERADE_AS(`bigcorp.com.')dnl
-MASQUERADE_DOMAIN(`bigcorp.com.')dnl
-MASQUERADE_AS(bigcorp.com)dnl</programlisting>
-        <para>After generating a new <filename>sendmail.cf</filename> using the <command>m4</command> macro processor, this configuration makes all mail from inside the network appear as if it were sent from <computeroutput>bigcorp.com</computeroutput>.</para>
+MASQUERADE_AS(`example.com.')dnl
+MASQUERADE_DOMAIN(`example.com.')dnl
+MASQUERADE_AS(example.com)dnl</programlisting>
+        <para>After generating a new <filename>sendmail.cf</filename> file using the <command>m4</command> macro processor, this configuration makes all mail from inside the network appear as if it were sent from <systemitem class="domainname">example.com</systemitem>.</para>
       </section>
       <section
         id="s3-email-sendmail-stopping-spam">
@@ -547,15 +557,15 @@ MASQUERADE_AS(bigcorp.com)dnl</programlisting>
         <para>Email spam can be defined as unnecessary and unwanted email received by a user who never requested the communication. It is a disruptive, costly, and widespread abuse of Internet communication standards.</para>
         <para>Sendmail makes it relatively easy to block new spamming techniques being employed to send junk email. It even blocks many of the more usual spamming methods by default. Main anti-spam features available in sendmail are <firstterm>header checks</firstterm>, <firstterm>relaying denial</firstterm> (default from version 8.9), <firstterm>access database and sender information checks</firstterm>.
         </para>
-        <para>For example, forwarding of <systemitem class="protocol">SMTP</systemitem> messages, also called relaying, has been disabled by default since Sendmail version 8.9. Before this change occurred, Sendmail directed the mail host (<filename>x.edu</filename>) to accept messages from one party (<filename>y.com</filename>) and sent them to a different party (<filename>z.net</filename>). Now, however, Sendmail must be configured to permit any domain to relay mail through the server. To configure relay domains, edit the <filename>/etc/mail/relay-domains</filename> file and restart Sendmail:</para>
-        <screen><command>systemctl restart sendmail.service</command></screen> 
-        <para>However, many times users are bombarded with spam from other servers throughout the Internet. In these instances, Sendmail's access control features available through the <filename>/etc/mail/access</filename> file can be used to prevent connections from unwanted hosts. The following example illustrates how this file can be used to both block and specifically allow access to the Sendmail server:</para>
-        <programlisting>badspammer.com ERROR:550 "Go away and do not spam us" tux.badspammer.com OK 10.0 RELAY</programlisting>
-        <para>This example shows that any email sent from <filename>badspammer.com</filename> is blocked with a 550 RFC-821 compliant error code, with a message sent back to the spammer. Email sent from the <filename>tux.badspammer.com</filename> sub-domain, is accepted. The last line shows that any email sent from the 10.0.*.* network can be relayed through the mail server.</para>
+        <para>For example, forwarding of <systemitem class="protocol">SMTP</systemitem> messages, also called relaying, has been disabled by default since Sendmail version 8.9. Before this change occurred, Sendmail directed the mail host (<filename>x.edu</filename>) to accept messages from one party (<filename>y.com</filename>) and sent them to a different party (<filename>z.net</filename>). Now, however, Sendmail must be configured to permit any domain to relay mail through the server. To configure relay domains, edit the <filename>/etc/mail/relay-domains</filename> file and restart Sendmail</para>
+        <screen>~]#&nbsp;<command>systemctl restart sendmail</command></screen>
+        <para>However users can also be sent spam from from servers on the Internet. In these instances, Sendmail's access control features available through the <filename>/etc/mail/access</filename> file can be used to prevent connections from unwanted hosts. The following example illustrates how this file can be used to both block and specifically allow access to the Sendmail server:</para>
+<programlisting>badspammer.com ERROR:550 "Go away and do not spam us anymore" tux.badspammer.com OK 10.0 RELAY</programlisting>
+        <para>This example shows that any email sent from <filename>badspammer.com</filename> is blocked with a 550 RFC-821 compliant error code, with a message sent back. Email sent from the <filename>tux.badspammer.com</filename> sub-domain, is accepted. The last line shows that any email sent from the 10.0.*.* network can be relayed through the mail server.</para>
         <para>Because the <filename>/etc/mail/access.db</filename> file is a database, use the <command>makemap</command> command to update any changes. Do this using the following command as <systemitem class="username">root</systemitem>:</para>
-        <screen><command>makemap hash /etc/mail/access &lt; /etc/mail/access</command></screen> 
+        <screen>~]#&nbsp;<command>makemap hash /etc/mail/access &lt; /etc/mail/access</command></screen>
         <para>Message header analysis allows you to reject mail based on header contents. <systemitem class="protocol">SMTP</systemitem> servers store information about an email's journey in the message header. As the message travels from one MTA to another, each puts in a <literal>Received</literal> header above all the other <literal>Received</literal> headers. It is important to note that this information may be altered by spammers.</para>
-        <para>The above examples only represent a small part of what Sendmail can do in terms of allowing or blocking access. See the <filename>/usr/share/sendmail-cf/README</filename> for more information and examples.</para>
+        <para>The above examples only represent a small part of what Sendmail can do in terms of allowing or blocking access. See the <filename>/usr/share/sendmail-cf/README</filename> file for more information and examples.</para>
         <para>Since Sendmail calls the Procmail MDA when delivering mail, it is also possible to use a spam filtering program, such as SpamAssassin, to identify and file spam for users. See <xref
             linkend="s3-email-mda-spam"/> for more information about using SpamAssassin.</para>
       </section>
@@ -599,8 +609,8 @@ FEATURE('ldap_routing')dnl</programlisting>
       <note>
         <title>Installing the fetchmail package</title>
         <para>In order to use <application>Fetchmail</application>, first ensure the <package>fetchmail</package> package is installed on your system by running, as <systemitem class="username">root</systemitem>:</para>
-        <screen><command>yum install fetchmail</command></screen>
-        <para>For more information on installing packages with Yum, refer to <xref linkend="sec-Installing"/>.</para>
+        <screen>~]#&nbsp;<command>yum install fetchmail</command></screen>
+        <para>For more information on installing packages with Yum, see <xref linkend="sec-Installing"/>.</para>
       </note>
       <para>Fetchmail is configured for each user through the use of a <filename>.fetchmailrc</filename> file in the user's home directory. If it does not already exist, create the <filename>.fetchmailrc</filename> file in your home directory</para>
       <para>Using preferences in the <filename>.fetchmailrc</filename> file, Fetchmail checks for email on a remote server and downloads it. It then delivers it to port <constant>25</constant> on the local machine, using the local MTA to place the email in the correct user's spool file. If Procmail is available, it is launched to filter the email and place it in a mailbox so that it can be read by an MUA.</para>
@@ -627,7 +637,7 @@ FEATURE('ldap_routing')dnl</programlisting>
           </listitem>
           <listitem>
             <para>
-              <emphasis>server options</emphasis> — Specifies necessary information about the server being polled, such as the hostname, as well as preferences for specific email servers, such as the port to check or number of seconds to wait before timing out. These options affect every user using that server.</para>
+              <emphasis>server options</emphasis> — Specifies necessary information about the server being polled, such as the host name, as well as preferences for specific email servers, such as the port to check or number of seconds to wait before timing out. These options affect every user using that server.</para>
           </listitem>
           <listitem>
             <para>
@@ -635,8 +645,8 @@ FEATURE('ldap_routing')dnl</programlisting>
           </listitem>
         </itemizedlist>
         <para>Global options appear at the top of the <filename>.fetchmailrc</filename> file, followed by one or more server options, each of which designate a different email server that Fetchmail should check. User options follow server options for each user account checking that email server. Like server options, multiple user options may be specified for use with a particular server as well as to check multiple email accounts on the same server.</para>
-        <para>Server options are called into service in the <filename>.fetchmailrc</filename> file by the use of a special option verb, <command>poll</command> or <command>skip</command>, that precedes any of the server information. The <command>poll</command> action tells Fetchmail to use this server option when it is run, which checks for email using the specified user options. Any server options after a <command>skip</command> action, however, are not checked unless this server's hostname is specified when Fetchmail is invoked. The <command>skip</command> option is useful when testing configurations in the <filename>.fetchmailrc</filename> file because it only checks skipped servers when specifically invoked, and does not affect any currently working configurations.</para>
-        <para>The following is a sample example of a <filename>.fetchmailrc</filename> file:</para>
+        <para>Server options are called into service in the <filename>.fetchmailrc</filename> file by the use of a special option verb, <command>poll</command> or <command>skip</command>, that precedes any of the server information. The <command>poll</command> action tells Fetchmail to use this server option when it is run, which checks for email using the specified user options. Any server options after a <command>skip</command> action, however, are not checked unless this server's host name is specified when Fetchmail is invoked. The <command>skip</command> option is useful when testing configurations in the <filename>.fetchmailrc</filename> file because it only checks skipped servers when specifically invoked, and does not affect any currently working configurations.</para>
+        <para>The following is an example of a <filename>.fetchmailrc</filename> file:</para>
         <programlisting>set postmaster "user1"
 set bouncemail
 
@@ -728,7 +738,7 @@ poll mail.domain2.com
           <listitem>
             <para>
               <command>timeout <replaceable>seconds</replaceable>
-              </command> — Replace <replaceable>seconds</replaceable> with the number of seconds of server inactivity after which Fetchmail gives up on a connection attempt. If this value is not set, a default of <command>300</command> seconds is assumed.</para>
+              </command> — Replace <replaceable>seconds</replaceable> with the number of seconds of server inactivity after which Fetchmail gives up on a connection attempt. If this value is not set, a default of <command>300</command> seconds is used.</para>
           </listitem>
         </itemizedlist>
       </section>
@@ -916,7 +926,7 @@ poll mail.domain2.com
       <primary>MUA</primary>
     </indexterm>
     <para>A <firstterm>Mail Transport Agent</firstterm> (MTA) is essential for sending email. A <firstterm>Mail User Agent</firstterm> (MUA) such as <application>Evolution</application>, <application>Thunderbird</application>, and <application>Mutt</application>, is used to read and compose email. When a user sends an email from an MUA, the message is handed off to the MTA, which sends the message through a series of MTAs until it reaches its destination.</para>
-    <para>Even if a user does not plan to send email from the system, some automated tasks or system programs might use the <command>/bin/mail</command> command to send email containing log messages to the <systemitem class="username">root</systemitem> user of the local system.</para>
+    <para>Even if a user does not plan to send email from the system, some automated tasks or system programs might use the <command>mail</command> command to send email containing log messages to the <systemitem class="username">root</systemitem> user of the local system.</para>
     <indexterm
       significance="normal">
       <primary>sendmail</primary>
@@ -925,7 +935,7 @@ poll mail.domain2.com
       significance="normal">
       <primary>postfix</primary>
     </indexterm>
-    <para>&MAJOROSVER; provides two MTAs: Postfix and Sendmail. If both are installed, Postfix is the default MTA.</para>
+    <para>&MAJOROSVER; provides two MTAs: Postfix and Sendmail. If both are installed, Postfix is the default MTA. Note that Sendmail is considered deprecated in MAJOROS;.</para>
     <!--silas: system-switch-mail is deprecated (use alternatives)-->
     <!--<para>The <application>Mail Transport Agent Switcher</application> allows for the selection of either <command>sendmail</command>, or <command>postfix</command> as the default MTA for the system.</para>
     <para>You should install the <package>system-switch-mail</package> package to use the text-based version of the <application>Mail Transport Agent Switcher</application> program. If you want to use the graphical version, install the <package>system-switch-mail-gnome</package> package.</para>
@@ -1010,9 +1020,11 @@ poll mail.domain2.com
         <listitem>
           <para>
             <command>INCLUDERC</command> — Specifies additional <filename>rc</filename> files containing more recipes for messages to be checked against. This breaks up the Procmail recipe lists into individual files that fulfill different roles, such as blocking spam and managing email lists, that can then be turned off or on by using comment characters in the user's <filename>~/.procmailrc</filename> file.</para>
-          <para>For example, lines in a user's <filename>.procmailrc</filename> file may look like this:</para>
-          <programlisting>MAILDIR=$HOME/Msgs INCLUDERC=$MAILDIR/lists.rc INCLUDERC=$MAILDIR/spam.rc</programlisting>
-          <para>To turn off Procmail filtering of email lists but leaving spam control in place, comment out the first <command>INCLUDERC</command> line with a hash sign (<command>#</command>).</para>
+          <para>For example, lines in a user's <filename>~/.procmailrc</filename> file may look like this:</para>
+          <screen>MAILDIR=$HOME/Msgs
+INCLUDERC=$MAILDIR/lists.rc
+INCLUDERC=$MAILDIR/spam.rc</screen>
+          <para>To turn off Procmail filtering of email lists but leaving spam control in place, comment out the first <command>INCLUDERC</command> line with a hash sign (<literal>#</literal>). Note that it uses paths relative to the current directory.</para>
         </listitem>
         <listitem>
           <para>
@@ -1048,8 +1060,8 @@ poll mail.domain2.com
             <command>VERBOSE</command> — Causes Procmail to log more information. This option is useful for debugging.</para>
         </listitem>
       </itemizedlist>
-      <para>Other important environmental variables are pulled from the shell, such as <command>LOGNAME</command>, which is the login name; <command>HOME</command>, which is the location of the home directory; and <command>SHELL</command>, which is the default shell.</para>
-      <para>A comprehensive explanation of all environments variables, as well as their default values, is available in the <filename>procmailrc</filename> man page.</para>
+      <para>Other important environmental variables are pulled from the shell, such as <command>LOGNAME</command>, the login name; <command>HOME</command>, the location of the home directory; and <command>SHELL</command>, the default shell.</para>
+      <para>A comprehensive explanation of all environments variables, and their default values, is available in the <filename>procmailrc</filename> man page.</para>
     </section>
     <section
       id="s2-email-procmail-recipes">
@@ -1059,18 +1071,16 @@ poll mail.domain2.com
         <primary>Procmail</primary>
         <secondary>recipes</secondary>
       </indexterm>
-      <para>New users often find the construction of recipes the most difficult part of learning to use Procmail. To some extent, this is understandable, as recipes do their message matching using <firstterm>regular expressions</firstterm>, which is a particular format used to specify qualifications for a matching string. However, regular expressions are not very difficult to construct and even less difficult to understand when read. Additionally, the consistency of the way Procmail recipes are written, regardless of regular expressions, makes it easy to learn by example. To see example Procmail recipes, refer to <xref
+      <para>New users often find the construction of recipes the most difficult part of learning to use Procmail. This difficulty is often attributed to recipes matching messages by using <firstterm>regular expressions</firstterm> which are used to specify qualifications for string matching. However, regular expressions are not very difficult to construct and even less difficult to understand when read. Additionally, the consistency of the way Procmail recipes are written, regardless of regular expressions, makes it easy to learn by example. To see example Procmail recipes, see <xref
           linkend="s3-email-procmail-recipes-examples"/>.</para>
       <para>Procmail recipes take the following form:</para>
-      <programlisting>:0<replaceable>flags</replaceable>: <replaceable>lockfile-name</replaceable> * <replaceable>special-condition-character</replaceable>
-        <replaceable>condition-1</replaceable> * <replaceable>special-condition-character</replaceable>
-        <replaceable>condition-2</replaceable> * <replaceable>special-condition-character</replaceable>
-        <replaceable>condition-N</replaceable>
+      <screen>:0 <optional><replaceable>flags</replaceable></optional> <optional>: <replaceable>lockfile-name</replaceable> </optional>
+* <optional> <replaceable>condition_1_special-condition-character</replaceable> <replaceable>condition_1_regular_expression</replaceable> </optional>
+* <optional> <replaceable>condition_2_special-condition-character</replaceable> <replaceable>condition-2_regular_expression</replaceable> </optional>
+* <optional> <replaceable>condition_N_special-condition-character</replaceable> <replaceable>condition-N_regular_expression</replaceable> </optional>
         <replaceable>special-action-character</replaceable>
-        <replaceable>action-to-perform</replaceable></programlisting>
-      <para>The first two characters in a Procmail recipe are a colon and a zero. Various flags can be placed after the zero to control how Procmail processes the recipe. A colon after the <command><replaceable>flags</replaceable>
-        </command> section specifies that a lockfile is created for this message. If a lockfile is created, the name can be specified by replacing <command><replaceable>lockfile-name</replaceable>
-        </command>.</para>
+        <replaceable>action-to-perform</replaceable></screen>
+      <para>The first two characters in a Procmail recipe are a colon and a zero. Various flags can be placed after the zero to control how Procmail processes the recipe. A colon after the <command><replaceable>flags</replaceable></command> section specifies that a lockfile is created for this message. If a lockfile is created, the name can be specified by replacing <command><replaceable>lockfile-name</replaceable></command>.</para>
       <para>A recipe can contain several conditions to match against the message. If it has no conditions, every message matches the recipe. Regular expressions are placed in some conditions to facilitate message matching. If multiple conditions are used, they must all match for the action to be performed. Conditions are checked based on the flags set in the recipe's first line. Optional special characters placed after the asterisk character (<command>*</command>) can further control the condition.</para>
       <para>The <command><replaceable>action-to-perform</replaceable></command> argument specifies the action taken when the message matches one of the conditions. There can only be one action per recipe. In many cases, the name of a mailbox is used here to direct matching messages into that file, effectively sorting the email. Special action characters may also be used before the action is specified. See <xref
           linkend="s3-email-procmail-recipes-special"/> for more information.</para>
@@ -1102,7 +1112,7 @@ poll mail.domain2.com
           <secondary>recipes</secondary>
           <tertiary>flags</tertiary>
         </indexterm>
-        <para>Flags are essential to determine how or if a recipe's conditions are compared to a message. The following flags are commonly used:</para>
+        <para>Flags are essential to determine how or if a recipe's conditions are compared to a message. The <application>egrep</application> utility is used internally for matching of the conditions. The following flags are commonly used:</para>
         <itemizedlist>
           <listitem>
             <para>
@@ -1130,7 +1140,7 @@ poll mail.domain2.com
           </listitem>
           <listitem>
             <para>
-              <command>E</command> — While similar to the <command>A</command> flag, the conditions in the recipe are only compared to the message if the immediately preceding the recipe without an <command>E</command> flag did not match. This is comparable to an <wordasword>else</wordasword> action.</para>
+              <command>E</command> — While similar to the <command>A</command> flag, the conditions in the recipe are only compared to the message if the immediately preceding recipe without an <command>E</command> flag did not match. This is comparable to an <wordasword>else</wordasword> action.</para>
           </listitem>
           <listitem>
             <para>
@@ -1157,7 +1167,7 @@ poll mail.domain2.com
               <command>W</command> — Is identical to <command>w</command> except that "Program failure" messages are suppressed.</para>
           </listitem>
         </itemizedlist>
-        <para>For a detailed list of additional flags, refer to the <filename>procmailrc</filename> man page.</para>
+        <para>For a detailed list of additional flags, see the <filename>procmailrc</filename> man page.</para>
       </section>
       <section
         id="s3-email-procmail-recipes-lockfile">
@@ -1233,15 +1243,17 @@ poll mail.domain2.com
           <tertiary>examples</tertiary>
         </indexterm>
         <para>Procmail is an extremely flexible program, but as a result of this flexibility, composing Procmail recipes from scratch can be difficult for new users.</para>
-        <para>The best way to develop the skills to build Procmail recipe conditions stems from a strong understanding of regular expressions combined with looking at many examples built by others. A thorough explanation of regular expressions is beyond the scope of this section. The structure of Procmail recipes and useful sample Procmail recipes can be found at various places on the Internet (such as <ulink
-            url="http://www.iki.fi/era/procmail/links.html">http://www.iki.fi/era/procmail/links.html</ulink>). The proper use and adaptation of regular expressions can be derived by viewing these recipe examples. In addition, introductory information about basic regular expression rules can be found in the <filename>grep</filename> man page.</para>
+        <para>The best way to develop the skills to build Procmail recipe conditions stems from a strong understanding of regular expressions combined with looking at many examples built by others. A thorough explanation of regular expressions is beyond the scope of this section. The structure of Procmail recipes and useful sample Procmail recipes can be found at various places on the Internet. The proper use and adaptation of regular expressions can be derived by viewing these recipe examples. In addition, introductory information about basic regular expression rules can be found in the <filename>grep(1)</filename> man page.</para>
         <para>The following simple examples demonstrate the basic structure of Procmail recipes and can provide the foundation for more intricate constructions.</para>
         <para>A basic recipe may not even contain conditions, as is illustrated in the following example:</para>
-        <programlisting>:0: new-mail.spool</programlisting>
+        <screen>:0:
+new-mail.spool</screen>
         <para>The first line specifies that a local lockfile is to be created but does not specify a name, so Procmail uses the destination file name and appends the value specified in the <command>LOCKEXT</command> environment variable. No condition is specified, so every message matches this recipe and is placed in the single spool file called <filename>new-mail.spool</filename>, located within the directory specified by the <command>MAILDIR</command> environment variable. An MUA can then view messages in this file.</para>
         <para>A basic recipe, such as this, can be placed at the end of all <filename>rc</filename> files to direct messages to a default location.</para>
         <para>The following example matched messages from a specific email address and throws them away.</para>
-        <programlisting>:0 * ^From: spammer at domain.com /dev/null</programlisting>
+        <screen>:0
+* ^From: spammer at domain.com
+/dev/null</screen>
         <para>With this example, any messages sent by <computeroutput>spammer at domain.com</computeroutput> are sent to the <filename>/dev/null</filename> device, deleting them.</para>
         <warning>
           <title>Sending messages to /dev/null</title>
@@ -1249,7 +1261,9 @@ poll mail.domain2.com
           <para>A better solution is to point the recipe's action to a special mailbox, which can be checked from time to time to look for false positives. Once satisfied that no messages are accidentally being matched, delete the mailbox and direct the action to send the messages to <filename>/dev/null</filename>.</para>
         </warning>
         <para>The following recipe grabs email sent from a particular mailing list and places it in a specified folder.</para>
-        <programlisting>:0: * ^(From|Cc|To).*tux-lug tuxlug</programlisting>
+        <screen>:0:
+* ^(From|Cc|To).*tux-lug
+tuxlug</screen>
         <para>Any messages sent from the <computeroutput>tux-lug at domain.com</computeroutput> mailing list are placed in the <filename>tuxlug</filename> mailbox automatically for the MUA. Note that the condition in this example matches the message if it has the mailing list's email address on the <computeroutput>From</computeroutput>, <computeroutput>Cc</computeroutput>, or <computeroutput>To</computeroutput> lines.</para>
         <para>Consult the many Procmail online resources available in <xref
             linkend="s1-email-additional-resources"/> for more detailed and powerful recipes.</para>
@@ -1280,8 +1294,8 @@ poll mail.domain2.com
         <note>
           <title>Installing the spamassassin package</title>
           <para>In order to use <application>SpamAssassin</application>, first ensure the <package>spamassassin</package> package is installed on your system by running, as <systemitem class="username">root</systemitem>:</para>
-          <screen><command>yum install spamassassin</command></screen>
-          <para>For more information on installing packages with Yum, refer to <xref linkend="sec-Installing"/>.</para>
+          <screen>~]#&nbsp;<command>yum install spamassassin</command></screen>
+          <para>For more information on installing packages with Yum, see <xref linkend="sec-Installing"/>.</para>
         </note>
         <para>The easiest way for a local user to use SpamAssassin is to place the following line near the top of the <filename>~/.procmailrc</filename> file:</para>
         <programlisting>INCLUDERC=/etc/mail/spamassassin/spamassassin-default.rc</programlisting>
@@ -1312,13 +1326,13 @@ poll mail.domain2.com
     <section
       id="s2-email-security">
       <title>Securing Communication</title>
-      <para>Popular MUAs included with &MAJOROS;, such as <application>Evolution</application> and <command>mutt</command> offer SSL-encrypted email sessions.</para>
+      <para>Popular MUAs included with &MAJOROS;, such as <application>Evolution</application> and <application>Mutt</application> offer SSL-encrypted email sessions.</para>
       <indexterm
         significance="normal">
         <primary>email</primary>
         <secondary>security</secondary>
       </indexterm>
-      <para>Like any other service that flows over a network unencrypted, important email information, such as usernames, passwords, and entire messages, may be intercepted and viewed by users on the network. Additionally, since the standard <systemitem class="protocol">POP</systemitem> and <systemitem class="protocol">IMAP</systemitem> protocols pass authentication information unencrypted, it is possible for an attacker to gain access to user accounts by collecting usernames and passwords as they are passed over the network.</para>
+      <para>Like any other service that flows over a network unencrypted, important email information, such as user names, passwords, and entire messages, may be intercepted and viewed by users on the network. Additionally, since the standard <systemitem class="protocol">POP</systemitem> and <systemitem class="protocol">IMAP</systemitem> protocols pass authentication information unencrypted, it is possible for an attacker to gain access to user accounts by collecting user names and passwords as they are passed over the network.</para>
       <section
         id="s3-email-security-clients">
         <title>Secure Email Clients</title>
@@ -1358,18 +1372,19 @@ dovecot]#&#160;<command>/usr/libexec/dovecot/mkcert.sh</command></screen>
         <para>Once finished, make sure you have the following configurations in your <filename>/etc/dovecot/conf.d/10-ssl.conf</filename> file:</para>
         <programlisting>ssl_cert = &lt;/etc/pki/dovecot/certs/dovecot.pem
 ssl_key = &lt;/etc/pki/dovecot/private/dovecot.pem</programlisting>
-        <para>Execute the <command>systemctl restart dovecot.service</command> command to restart the <command>dovecot</command> daemon.</para>
+        <para>Issue the following command to restart the <command>dovecot</command> daemon:</para>
+        <screen>~]# <command>systemctl restart dovecot</command></screen>
         <para>Alternatively, the <command>stunnel</command> command can be used as an SSL encryption wrapper around the standard, non-secure connections to <systemitem class="protocol">IMAP</systemitem> or <systemitem class="protocol">POP</systemitem> services.</para>
         <para>The <command>stunnel</command> utility uses external OpenSSL libraries included with &MAJOROS; to provide strong cryptography and to protect the network connections. It is recommended to apply to a CA to obtain an SSL certificate, but it is also possible to create a self-signed certificate.</para>
         <note>
           <title>Installing the stunnel package</title>
           <para>In order to use <command>stunnel</command>, first ensure the <package>stunnel</package> package is installed on your system by running, as <systemitem class="username">root</systemitem>:</para>
-          <screen><command>yum install stunnel</command></screen>
-          <para>For more information on installing packages with Yum, refer to <xref linkend="sec-Installing"/>.</para>
+          <screen>~]#&nbsp;<command>yum install stunnel</command></screen>
+          <para>For more information on installing packages with Yum, see <xref linkend="sec-Installing"/>.</para>
         </note>
-        
+
         <para>To create a self-signed SSL certificate, change to the <filename>/etc/pki/tls/certs/</filename> directory, and type the following command:</para>
-        <screen>certs]#&#160;<command>make stunnel.pem</command></screen> 
+        <screen>certs]#&#160;<command>make stunnel.pem</command></screen>
         <para>Answer all of the questions to complete the process.</para>
         <para>Once the certificate is generated, create an <command>stunnel</command> configuration file, for example <filename>/etc/stunnel/mail.conf</filename>, with the following content:</para>
         <programlisting>cert = /etc/pki/tls/certs/stunnel.pem
@@ -1380,9 +1395,9 @@ connect = 110
 
 [imaps]
 accept  = 993
-connect = 143</programlisting> 
+connect = 143</programlisting>
         <para>Once you start <command>stunnel</command> with the created configuration file using the <command>/usr/bin/stunnel /etc/stunnel/mail.conf</command> command, it will be possible to use an <systemitem class="protocol">IMAP</systemitem> or a <systemitem class="protocol">POP</systemitem> email client and connect to the email server using SSL encryption.</para>
-        <para>For more information on <command>stunnel</command>, refer to the <command>stunnel</command> man page or the documents in the <filename>/usr/share/doc/stunnel/</filename> directory.</para>
+        <para>For more information on <command>stunnel</command>, see the <filename>stunnel(8)</filename> man page or the documents in the <filename class="directory">/usr/share/doc/stunnel/</filename> directory.</para>
       </section>
     </section>
   </section>
@@ -1421,7 +1436,7 @@ connect = 143</programlisting>
       </indexterm>
       <itemizedlist>
         <listitem>
-          <para>Information on configuring Sendmail is included with the <filename>sendmail</filename> and <filename>sendmail-cf</filename> packages.</para>
+          <para>Information on configuring Sendmail is included with the <package>sendmail</package> and <package>sendmail-cf</package> packages.</para>
           <itemizedlist>
             <listitem>
               <para>
@@ -1432,15 +1447,15 @@ connect = 143</programlisting>
         </listitem>
         <listitem>
           <para>
-            <filename>/usr/share/doc/postfix/</filename> — Contains a large amount of information about ways to configure Postfix.</para>
+            <filename class="directory">/usr/share/doc/postfix/</filename> — Contains a large amount of information on how to configure Postfix.</para>
         </listitem>
         <listitem>
           <para>
-            <filename>/usr/share/doc/fetchmail/</filename> — Contains a full list of Fetchmail features in the <filename>FEATURES</filename> file and an introductory <filename>FAQ</filename> document.</para>
+            <filename class="directory">/usr/share/doc/fetchmail/</filename> — Contains a full list of Fetchmail features in the <filename>FEATURES</filename> file and an introductory <filename>FAQ</filename> document.</para>
         </listitem>
         <listitem>
           <para>
-            <filename>/usr/share/doc/procmail/</filename> — Contains a <filename>README</filename> file that provides an overview of Procmail, a <filename>FEATURES</filename> file that explores every program feature, and an <filename>FAQ</filename> file with answers to many common configuration questions.</para>
+            <filename class="directory">/usr/share/doc/procmail/</filename> — Contains a <filename>README</filename> file that provides an overview of Procmail, a <filename>FEATURES</filename> file that explores every program feature, and an <filename>FAQ</filename> file with answers to many common configuration questions.</para>
           <para>When learning how Procmail works and creating new recipes, the following Procmail man pages are invaluable:</para>
           <itemizedlist>
             <listitem>
@@ -1495,7 +1510,7 @@ connect = 143</programlisting>
         <listitem>
           <para>
             <ulink
-              url="http://fetchmail.berlios.de/">http://fetchmail.berlios.de/</ulink> — The home page for Fetchmail, featuring an online manual, and a thorough FAQ.</para>
+              url="http://www.fetchmail.info/fetchmail-FAQ.html">http://www.fetchmail.info/fetchmail-FAQ.html</ulink> — A thorough FAQ about Fetchmail.</para>
         </listitem>
         <listitem>
           <para>
@@ -1505,11 +1520,6 @@ connect = 143</programlisting>
         <listitem>
           <para>
             <ulink
-              url="http://partmaps.org/era/procmail/mini-faq.html">http://partmaps.org/era/procmail/mini-faq.html</ulink> — An excellent Procmail FAQ, offers troubleshooting tips, details about file locking, and the use of wildcard characters.</para>
-        </listitem>
-        <listitem>
-          <para>
-            <ulink
               url="http://www.uwasa.fi/~ts/info/proctips.html">http://www.uwasa.fi/~ts/info/proctips.html</ulink> — Contains dozens of tips that make using Procmail much easier. Includes instructions on how to test <filename>.procmailrc</filename> files and use Procmail scoring to decide if a particular action should be taken.</para>
         </listitem>
         <listitem>


More information about the docs-commits mailing list