0
|
1 <reference>
|
|
2 <title>@PACKAGE@ Sendmail milter - Version @VERSION@</title>
|
|
3 <partintro>
|
|
4 <title>Packages</title>
|
|
5 <para>The various source and binary packages are available at <ulink
|
|
6 url="http://www.five-ten-sg.com/@PACKAGE@/packages/">http://www.five-ten-sg.com/@PACKAGE@/packages/</ulink>
|
|
7 The most recent documentation is available at <ulink
|
|
8 url="http://www.five-ten-sg.com/@PACKAGE@/">http://www.five-ten-sg.com/@PACKAGE@/</ulink>
|
|
9 </para>
|
|
10
|
|
11 </partintro>
|
|
12
|
|
13 <refentry id="@PACKAGE@.1">
|
|
14 <refentryinfo>
|
13
|
15 <date>2007-08-25</date>
|
0
|
16 </refentryinfo>
|
|
17
|
|
18 <refmeta>
|
|
19 <refentrytitle>@PACKAGE@</refentrytitle>
|
|
20 <manvolnum>1</manvolnum>
|
|
21 <refmiscinfo>@PACKAGE@ @VERSION@</refmiscinfo>
|
|
22 </refmeta>
|
|
23
|
|
24 <refnamediv id='name.1'>
|
|
25 <refname>@PACKAGE@</refname>
|
|
26 <refpurpose>a sendmail milter to add recipients to messages</refpurpose>
|
|
27 </refnamediv>
|
|
28
|
|
29 <refsynopsisdiv id='synopsis.1'>
|
|
30 <title>Synopsis</title>
|
|
31 <cmdsynopsis>
|
|
32 <command>@PACKAGE@</command>
|
|
33 <arg><option>-c</option></arg>
|
|
34 <arg><option>-d <replaceable class="parameter">n</replaceable></option></arg>
|
|
35 <arg><option>-p <replaceable class="parameter">sendmail-socket</replaceable></option></arg>
|
|
36 <arg><option>-t <replaceable class="parameter">timeout</replaceable></option></arg>
|
|
37 </cmdsynopsis>
|
|
38 </refsynopsisdiv>
|
|
39
|
|
40 <refsect1 id='options.1'>
|
|
41 <title>Options</title>
|
|
42 <variablelist>
|
|
43 <varlistentry>
|
|
44 <term>-c</term>
|
|
45 <listitem><para>
|
|
46 Load the configuration file, print a cannonical form
|
|
47 of the configuration on stdout, and exit.
|
|
48 </para></listitem>
|
|
49 </varlistentry>
|
|
50 <varlistentry>
|
|
51 <term>-d <replaceable class="parameter">n</replaceable></term>
|
|
52 <listitem><para>
|
|
53 Set the debug level to <replaceable class="parameter">n</replaceable>.
|
|
54 </para></listitem>
|
|
55 </varlistentry>
|
|
56 <varlistentry>
|
|
57 <term>-p <replaceable class="parameter">sendmail-socket</replaceable></term>
|
|
58 <listitem><para>
|
|
59 Set the socket used for the milter connection to sendmail. This is either
|
|
60 "inet:port@ip-address" or "local:local-domain-socket-file-name".
|
|
61 </para></listitem>
|
|
62 </varlistentry>
|
|
63 <varlistentry>
|
|
64 <term>-t <replaceable class="parameter">timeout</replaceable></term>
|
|
65 <listitem><para>
|
|
66 Set the timeout in seconds used for communication with sendmail.
|
|
67 </para></listitem>
|
|
68 </varlistentry>
|
|
69 </variablelist>
|
|
70 </refsect1>
|
|
71
|
|
72 <refsect1 id='usage.1'>
|
|
73 <title>Usage</title>
|
|
74 <para><command>@PACKAGE@</command> -c</para>
|
4
|
75 <para><command>@PACKAGE@</command> -d 10 -p local:sm-archive.sock</para>
|
0
|
76 </refsect1>
|
|
77
|
|
78 <refsect1 id='installation.1'>
|
|
79 <title>Installation</title>
|
|
80 <para>
|
|
81 This is now a standard GNU autoconf/automake installation, so the normal
|
|
82 "./configure; make; su; make install" works. "make chkconfig" will
|
|
83 setup the init.d runlevel scripts. Alternatively, you can use the
|
|
84 source or binary RPMs at <ulink
|
|
85 url="http://www.five-ten-sg.com/@PACKAGE@/packages">http://www.five-ten-sg.com/@PACKAGE@/packages</ulink>.
|
|
86 </para>
|
|
87 <para>
|
|
88 Note that this has ONLY been tested on Linux, specifically RedHat Linux.
|
|
89 You will need at a minimum a C++ compiler with a
|
|
90 minimally thread safe STL implementation. The distribution includes a
|
|
91 test.cpp program. If it fails this milter won't work. If it passes,
|
|
92 this milter might work.
|
|
93 </para>
|
|
94 <para>
|
|
95 Modify your sendmail.mc by adding
|
|
96 the following line in your sendmail.mc and rebuild the .cf file
|
|
97 </para>
|
|
98 <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>
|
|
99 <para>
|
|
100 Modify the default <citerefentry>
|
|
101 <refentrytitle>@PACKAGE@.conf</refentrytitle> <manvolnum>5</manvolnum>
|
|
102 </citerefentry> configuration.
|
|
103 </para>
|
|
104 </refsect1>
|
|
105
|
|
106 <refsect1 id='configuration.1'>
|
|
107 <title>Configuration</title>
|
|
108 <para>
|
|
109 The configuration file is documented in <citerefentry>
|
|
110 <refentrytitle>@PACKAGE@.conf</refentrytitle> <manvolnum>5</manvolnum>
|
|
111 </citerefentry>. Any change to the config file, or any file included
|
|
112 from that config file, will cause it to be reloaded within three
|
|
113 minutes.
|
|
114 </para>
|
|
115 </refsect1>
|
|
116
|
|
117 <refsect1 id='introduction.1'>
|
|
118 <title>Introduction</title>
|
|
119 <para>
|
|
120 Consider the problem of archiving all the mail sent to or from particular
|
|
121 email addresses or domains. This milter allows you to configure archive
|
|
122 mailboxes for each address or domain. It will add the address of the archive
|
|
123 mailbox to messages that pass thru this milter.
|
|
124 </para>
|
|
125 <para>
|
4
|
126 The archive milter reads a text configuration file (sm-archive.conf) on
|
0
|
127 startup, and whenever the config file (or any of the referenced include
|
|
128 files) is changed. The entire configuration file is case insensitive.
|
|
129 If the configuration cannot be loaded due to a syntax error, the milter
|
|
130 will log the error and quit. If the configuration cannot be reloaded
|
|
131 after being modified, the milter will log the error and send an email to
|
|
132 root from sm-archive@$hostname. You probably want to added sm-archive@$hostname
|
|
133 to your /etc/mail/virtusertable since otherwise sendmail will reject
|
|
134 that message.
|
|
135 </para>
|
|
136 </refsect1>
|
|
137
|
|
138 <refsect1 id='todo.1'>
|
|
139 <title>TODO</title>
|
|
140 <para>
|
|
141 Placeholder for future ideas.
|
|
142 </para>
|
|
143 </refsect1>
|
|
144
|
|
145 <refsect1 id='copyright.1'>
|
|
146 <title>Copyright</title>
|
|
147 <para>
|
13
|
148 Copyright (C) 2007 by 510 Software Group <carl@five-ten-sg.com>
|
0
|
149 </para>
|
|
150 <para>
|
|
151 This program is free software; you can redistribute it and/or modify it
|
|
152 under the terms of the GNU General Public License as published by the
|
13
|
153 Free Software Foundation; either version 3, or (at your option) any
|
0
|
154 later version.
|
|
155 </para>
|
|
156 <para>
|
|
157 You should have received a copy of the GNU General Public License along
|
|
158 with this program; see the file COPYING. If not, please write to the
|
|
159 Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
160 </para>
|
|
161 </refsect1>
|
|
162
|
|
163 <refsect1 id='version.1'>
|
|
164 <title>CVS Version</title>
|
|
165 <para>
|
|
166 $Id$
|
|
167 </para>
|
|
168 </refsect1>
|
|
169 </refentry>
|
|
170
|
|
171
|
|
172 <refentry id="@PACKAGE@.conf.5">
|
|
173 <refentryinfo>
|
13
|
174 <date>2007-08-25</date>
|
0
|
175 </refentryinfo>
|
|
176
|
|
177 <refmeta>
|
|
178 <refentrytitle>@PACKAGE@.conf</refentrytitle>
|
|
179 <manvolnum>5</manvolnum>
|
|
180 <refmiscinfo>@PACKAGE@ @VERSION@</refmiscinfo>
|
|
181 </refmeta>
|
|
182
|
|
183 <refnamediv id='name.5'>
|
|
184 <refname>@PACKAGE@.conf</refname>
|
|
185 <refpurpose>configuration file for @PACKAGE@ sendmail milter</refpurpose>
|
|
186 </refnamediv>
|
|
187
|
|
188 <refsynopsisdiv id='synopsis.5'>
|
|
189 <title>Synopsis</title>
|
|
190 <cmdsynopsis>
|
|
191 <command>@PACKAGE@.conf</command>
|
|
192 </cmdsynopsis>
|
|
193 </refsynopsisdiv>
|
|
194
|
|
195 <refsect1 id='description.5'>
|
|
196 <title>Description</title>
|
|
197 <para>The <command>@PACKAGE@.conf</command> configuration file is
|
|
198 specified by this partial bnf description.</para>
|
|
199
|
|
200 <literallayout class="monospaced"><![CDATA[
|
|
201 CONFIG = {ENV-FROM ENV-TO}+
|
|
202 ENV-FROM = env_from "{" LIST "}" ";"
|
|
203 ENV-TO = rcpt_to "{" LIST "}" ";"
|
|
204 LIST = ELEMENT {LIST}+
|
13
|
205 ELEMENT = ADDRESS TARGET ["remove"] ";"
|
0
|
206 ADDRESS = (USER@ | DOMAIN | USER@DOMAIN)
|
|
207 TARGET = ("" | USER@DOMAIN)
|
|
208 };]]></literallayout>
|
|
209 </refsect1>
|
|
210
|
|
211 <refsect1 id='sample.5'>
|
|
212 <title>Sample</title>
|
|
213 <literallayout class="monospaced"><![CDATA[
|
|
214 env_from {
|
|
215 fred@example.com manager@example.com;
|
|
216 example.com archive@example.com;
|
|
217 joe@example.com ""; # suppress archiving for joe
|
|
218 };
|
|
219
|
|
220 rcpt_to {
|
|
221 fred@example.com manager@example.com;
|
13
|
222 other@example.com manager@example.com remove; // other does not get a copy
|
0
|
223 };
|
|
224
|
|
225 };]]></literallayout>
|
|
226 </refsect1>
|
|
227
|
|
228 <refsect1 id='version.5'>
|
|
229 <title>CVS Version</title>
|
|
230 <para>
|
|
231 $Id$
|
|
232 </para>
|
|
233 </refsect1>
|
|
234
|
|
235 </refentry>
|
|
236 </reference>
|