<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../../general.ent">
  %general-entities;

  <!-- <!ENTITY procmail-download-http "http://www.procmail.org/procmail-&procmail-version;.tar.gz"> -->
  <!ENTITY procmail-download-http "http://www.ring.gr.jp/archives/net/mail/procmail/procmail-&procmail-version;.tar.gz">
  <!ENTITY procmail-download-ftp  "ftp://ftp.ucsb.edu/pub/mirrors/procmail/procmail-&procmail-version;.tar.gz">
  <!ENTITY procmail-md5sum        "1678ea99b973eb77eda4ecf6acae53f1">
  <!ENTITY procmail-size          "226 KB">
  <!ENTITY procmail-buildsize     "1.7 MB">
  <!ENTITY procmail-time          "less than 0.1 SBU">
]>

<sect1 id="procmail" xreflabel="Procmail-&procmail-version;">
  <?dbhtml filename="procmail.html"?>

  <sect1info>
    <othername>$LastChangedBy: bdubbs $</othername>
    <date>$Date: 2015-03-01 20:45:33 -0500 (Sun, 01 Mar 2015) $</date>
  </sect1info>

  <title>Procmail-&procmail-version;</title>

  <indexterm zone="procmail">
    <primary sortas="a-Procmail">Procmail</primary>
  </indexterm>

  <sect2 role="package">
    <title>Introduction to Procmail</title>

    <para>The <application>Procmail</application> package contains an autonomous
    mail processor. This is useful for filtering and sorting incoming mail.</para>

    &lfs77_checked;

    <bridgehead renderas="sect3">Package Information</bridgehead>
    <itemizedlist spacing='compact'>
      <listitem>
        <para>Download (HTTP): <ulink url="&procmail-download-http;"/></para>
      </listitem>
      <listitem>
        <para>Download (FTP): <ulink url="&procmail-download-ftp;"/></para>
      </listitem>
      <listitem>
        <para>Download MD5 sum: &procmail-md5sum;</para>
      </listitem>
      <listitem>
        <para>Download size: &procmail-size;</para>
      </listitem>
      <listitem>
        <para>Estimated disk space required: &procmail-buildsize;</para>
      </listitem>
      <listitem>
        <para>Estimated build time: &procmail-time;</para>
      </listitem>
    </itemizedlist>

    <para condition="html" role="usernotes">User Notes:
    <ulink url="&blfs-wiki;/procmail"/></para>

  </sect2>

  <sect2 role="installation">
    <title>Installation of Procmail</title>

    <para>This package does not come with a test suite.</para>

    <para>Install <application>Procmail</application> by running the following
    commands as the <systemitem class="username">root</systemitem> user:</para>

<screen role='root'><userinput>sed -i 's/getline/get_line/' src/*.[ch] &amp;&amp;

make LOCKINGTEST=/tmp MANDIR=/usr/share/man install &amp;&amp;
make install-suid</userinput></screen>

  </sect2>

  <sect2 role="commands">
    <title>Command Explanations</title>

    <para><command>sed -i 's/getline/get_line/' src/*.[ch]</command>: This renames
    procmail's getline function to avoid conflict with the getline function from
    <application>glibc</application>.</para>

    <para><command>make LOCKINGTEST=/tmp install</command>: This prevents
    <command>make</command> from asking you where to test file-locking
    patterns.</para>

    <para><command>make install-suid</command>: Modifies permissions of
    the installed files.</para>

  </sect2>

  <sect2 role="configuration">
    <title>Configuring Procmail</title>

    <sect3 id="procmail-config">
      <title>Config Files</title>

      <para><filename>/etc/procmailrc</filename> and
      <filename>~/.procmailrc</filename></para>

      <indexterm zone="procmail procmail-config">
        <primary sortas="e-AA.procmailrc">~/.procmailrc</primary>
      </indexterm>

      <indexterm zone="procmail procmail-config">
        <primary sortas="e-etc-procmailrc">/etc/procmailrc</primary>
      </indexterm>

    </sect3>

    <sect3>
      <title>Configuration Information</title>

      <para>Recipes have to be written and placed in
      <filename>~/.procmailrc</filename> for execution. The procmailex man
      page is the starting place to learn how to write recipes.
      For additional information, see also
      <ulink url="http://pm-doc.sourceforge.net/"/>.
      </para>

    </sect3>

  </sect2>

  <sect2 role="content">
    <title>Contents</title>

    <segmentedlist>
      <segtitle>Installed Programs</segtitle>
      <segtitle>Installed Libraries</segtitle>
      <segtitle>Installed Directories</segtitle>

      <seglistitem>
        <seg>formail, lockfile, mailstat and procmail</seg>
        <seg>None</seg>
        <seg>None</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="formail">
        <term><command>formail</command></term>
        <listitem>
          <para>is a filter that can be used to format mail into mailbox format.</para>
          <indexterm zone="procmail formail">
            <primary sortas="b-formail">formail</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="lockfile">
        <term><command>lockfile</command></term>
        <listitem>
          <para>is a utility that can lock a file for single use interactively or in a
          script.</para>
          <indexterm zone="procmail lockfile">
            <primary sortas="b-lockfile">lockfile</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="mailstat">
        <term><command>mailstat</command></term>
        <listitem>
          <para>prints a summary report of mail that has been filtered by
          <command>procmail</command> since the last time <command>mailstat</command>
          was ran.</para>
          <indexterm zone="procmail mailstat">
            <primary sortas="b-mailstat">mailstat</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="procmail-prog">
        <term><command>procmail</command></term>
        <listitem>
          <para>is an autonomous mail processor. It performs all the functions
          of an MDA (Mail Delivery Agent).</para>
          <indexterm zone="procmail procmail-prog">
            <primary sortas="b-procmail">procmail</primary>
          </indexterm>
        </listitem>
      </varlistentry>
    </variablelist>

  </sect2>

</sect1>

