diff xml/sm-archive.in @ 0:616666e2f34c

initial version
author carl
date Fri, 10 Mar 2006 10:30:08 -0800
parents
children 311e331f1bab
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/sm-archive.in	Fri Mar 10 10:30:08 2006 -0800
@@ -0,0 +1,235 @@
+<reference>
+    <title>@PACKAGE@ Sendmail milter - Version @VERSION@</title>
+    <partintro>
+        <title>Packages</title>
+        <para>The various source and binary packages are available at <ulink
+        url="http://www.five-ten-sg.com/@PACKAGE@/packages/">http://www.five-ten-sg.com/@PACKAGE@/packages/</ulink>
+        The most recent documentation is available at <ulink
+        url="http://www.five-ten-sg.com/@PACKAGE@/">http://www.five-ten-sg.com/@PACKAGE@/</ulink>
+        </para>
+
+    </partintro>
+
+    <refentry id="@PACKAGE@.1">
+        <refentryinfo>
+            <date>2006-03-10</date>
+        </refentryinfo>
+
+        <refmeta>
+            <refentrytitle>@PACKAGE@</refentrytitle>
+            <manvolnum>1</manvolnum>
+            <refmiscinfo>@PACKAGE@ @VERSION@</refmiscinfo>
+        </refmeta>
+
+        <refnamediv id='name.1'>
+            <refname>@PACKAGE@</refname>
+            <refpurpose>a sendmail milter to add recipients to messages</refpurpose>
+        </refnamediv>
+
+        <refsynopsisdiv id='synopsis.1'>
+            <title>Synopsis</title>
+            <cmdsynopsis>
+                <command>@PACKAGE@</command>
+                <arg><option>-c</option></arg>
+                <arg><option>-d <replaceable class="parameter">n</replaceable></option></arg>
+                <arg><option>-p <replaceable class="parameter">sendmail-socket</replaceable></option></arg>
+                <arg><option>-t <replaceable class="parameter">timeout</replaceable></option></arg>
+            </cmdsynopsis>
+        </refsynopsisdiv>
+
+        <refsect1 id='options.1'>
+            <title>Options</title>
+            <variablelist>
+                <varlistentry>
+                    <term>-c</term>
+                    <listitem><para>
+                        Load the configuration file, print a cannonical form
+                        of the configuration on stdout, and exit.
+                    </para></listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term>-d <replaceable class="parameter">n</replaceable></term>
+                    <listitem><para>
+                        Set the debug level to <replaceable class="parameter">n</replaceable>.
+                    </para></listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term>-p <replaceable class="parameter">sendmail-socket</replaceable></term>
+                    <listitem><para>
+                        Set the socket used for the milter connection to sendmail. This is either
+                        "inet:port@ip-address" or "local:local-domain-socket-file-name".
+                    </para></listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term>-t <replaceable class="parameter">timeout</replaceable></term>
+                    <listitem><para>
+                        Set the timeout in seconds used for communication with sendmail.
+                    </para></listitem>
+                </varlistentry>
+            </variablelist>
+        </refsect1>
+
+        <refsect1 id='usage.1'>
+            <title>Usage</title>
+            <para><command>@PACKAGE@</command> -c</para>
+            <para><command>@PACKAGE@</command> -d 10 -p local:dnsbl.sock</para>
+        </refsect1>
+
+        <refsect1 id='installation.1'>
+            <title>Installation</title>
+            <para>
+                This is now a standard GNU autoconf/automake installation, so the normal
+                "./configure; make; su; make install" works.  "make chkconfig" will
+                setup the init.d runlevel scripts.  Alternatively, you can use the
+                source or binary RPMs at <ulink
+                url="http://www.five-ten-sg.com/@PACKAGE@/packages">http://www.five-ten-sg.com/@PACKAGE@/packages</ulink>.
+            </para>
+            <para>
+                Note that this has ONLY been tested on Linux, specifically RedHat Linux.
+                You will need at a minimum a C++ compiler with a
+                minimally thread safe STL implementation.  The distribution includes a
+                test.cpp program.  If it fails this milter won't work.  If it passes,
+                this milter might work.
+            </para>
+            <para>
+                Modify your sendmail.mc by adding
+                the following line in your sendmail.mc and rebuild the .cf file
+            </para>
+            <para><screen>INPUT_MAIL_FILTER(`sm-archive', `S=local:/var/run/sm-archive/sm-archive.sock, F=T, T=C:30s;S:5m;R:5m;E:5m')</screen></para>
+            <para>
+                Modify the default <citerefentry>
+                <refentrytitle>@PACKAGE@.conf</refentrytitle> <manvolnum>5</manvolnum>
+                </citerefentry> configuration.
+            </para>
+        </refsect1>
+
+        <refsect1 id='configuration.1'>
+            <title>Configuration</title>
+            <para>
+                The configuration file is documented in <citerefentry>
+                <refentrytitle>@PACKAGE@.conf</refentrytitle> <manvolnum>5</manvolnum>
+                </citerefentry>.  Any change to the config file, or any file included
+                from that config file, will cause it to be reloaded within three
+                minutes.
+            </para>
+        </refsect1>
+
+        <refsect1 id='introduction.1'>
+            <title>Introduction</title>
+            <para>
+                Consider the problem of archiving all the mail sent to or from particular
+                email addresses or domains. This milter allows you to configure archive
+                mailboxes for each address or domain. It will add the address of the archive
+                mailbox to messages that pass thru this milter.
+            </para>
+            <para>
+                The DNSBL milter reads a text configuration file (sm-archive.conf) on
+                startup, and whenever the config file (or any of the referenced include
+                files) is changed.  The entire configuration file is case insensitive.
+                If the configuration cannot be loaded due to a syntax error, the milter
+                will log the error and quit.  If the configuration cannot be reloaded
+                after being modified, the milter will log the error and send an email to
+                root from sm-archive@$hostname.  You probably want to added sm-archive@$hostname
+                to your /etc/mail/virtusertable since otherwise sendmail will reject
+                that message.
+            </para>
+        </refsect1>
+
+        <refsect1 id='todo.1'>
+            <title>TODO</title>
+            <para>
+                Placeholder for future ideas.
+            </para>
+        </refsect1>
+
+        <refsect1 id='copyright.1'>
+            <title>Copyright</title>
+            <para>
+                Copyright (C) 2006 by 510 Software Group &lt;carl@five-ten-sg.com&gt;
+            </para>
+            <para>
+                This program is free software; you can redistribute it and/or modify it
+                under the terms of the GNU General Public License as published by the
+                Free Software Foundation; either version 2, or (at your option) any
+                later version.
+            </para>
+            <para>
+                You should have received a copy of the GNU General Public License along
+                with this program; see the file COPYING.  If not, please write to the
+                Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+            </para>
+        </refsect1>
+
+        <refsect1 id='version.1'>
+            <title>CVS Version</title>
+            <para>
+                $Id$
+            </para>
+        </refsect1>
+    </refentry>
+
+
+    <refentry id="@PACKAGE@.conf.5">
+        <refentryinfo>
+            <date>2006-03-10</date>
+        </refentryinfo>
+
+        <refmeta>
+            <refentrytitle>@PACKAGE@.conf</refentrytitle>
+            <manvolnum>5</manvolnum>
+            <refmiscinfo>@PACKAGE@ @VERSION@</refmiscinfo>
+        </refmeta>
+
+        <refnamediv id='name.5'>
+            <refname>@PACKAGE@.conf</refname>
+            <refpurpose>configuration file for @PACKAGE@ sendmail milter</refpurpose>
+        </refnamediv>
+
+        <refsynopsisdiv id='synopsis.5'>
+            <title>Synopsis</title>
+            <cmdsynopsis>
+                <command>@PACKAGE@.conf</command>
+            </cmdsynopsis>
+        </refsynopsisdiv>
+
+        <refsect1 id='description.5'>
+            <title>Description</title>
+            <para>The <command>@PACKAGE@.conf</command> configuration file is
+            specified by this partial bnf description.</para>
+
+            <literallayout class="monospaced"><![CDATA[
+CONFIG     = {ENV-FROM ENV-TO}+
+ENV-FROM   = env_from "{" LIST "}" ";"
+ENV-TO     = rcpt_to  "{" LIST "}" ";"
+LIST       = ELEMENT {LIST}+
+ELEMENT    = ADDRESS TARGET ";"
+ADDRESS    = (USER@ | DOMAIN | USER@DOMAIN)
+TARGET     = ("" | USER@DOMAIN)
+};]]></literallayout>
+        </refsect1>
+
+        <refsect1 id='sample.5'>
+            <title>Sample</title>
+            <literallayout class="monospaced"><![CDATA[
+env_from {
+    fred@example.com    manager@example.com;
+    example.com         archive@example.com;
+    joe@example.com     "";     # suppress archiving for joe
+};
+
+rcpt_to {
+    fred@example.com    manager@example.com;
+};
+
+};]]></literallayout>
+        </refsect1>
+
+        <refsect1 id='version.5'>
+            <title>CVS Version</title>
+            <para>
+                $Id$
+            </para>
+        </refsect1>
+
+    </refentry>
+</reference>