File: README.html.in

package info (click to toggle)
courier 0.60.0-2
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 52,288 kB
  • ctags: 12,677
  • sloc: ansic: 165,348; cpp: 24,820; sh: 16,410; perl: 6,839; makefile: 3,621; yacc: 289; sed: 16
file content (324 lines) | stat: -rwxr-xr-x 14,965 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content=
  "text/html; charset=utf-8" />

  <title>maildrop - mail delivery agent with filtering
  abilities</title>
  <meta name="MSSmartTagsPreventParsing" content="TRUE" />
  <link rel="icon" href="icon.gif" type="image/gif" />
</head>

<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink=
"#51188E" alink="#FF0000">
  <!-- $Id: README.html.in,v 1.71 2007/05/20 00:04:55 mrsam Exp $ -->
  <!-- Copyright 1998 - 2001 Double Precision, Inc.  See COPYING for -->
  <!-- distribution information. -->

  <h1>maildrop - mail delivery agent with filtering
  abilities</h1>Current development version is @VERSION@, stable
  version is @PREVIOUS_VERSION@.

  <p>Copyright 1998-2003, Double Precision Inc.</p>

  <p>This program is distributed under the terms of the GNU General
  Public License. See <code>COPYING</code> for additional
  information.</p>

  <h2>Where to find <em>maildrop</em></h2>Join the maildrop mailing
  list - <code><a href=
  "http://lists.sourceforge.net/lists/listinfo/courier-maildrop">http://lists.sourceforge.net/lists/listinfo/courier-maildrop</a></code>.

  <p>I've started a list of "<a href="maildroptips.html">tips and
  tricks</a>" for writing mail filters with maildrop.</p>

  <p>The HTML version of the <em>maildrop</em> README is located at
  <code>http://www.courier-mta.org/maildrop/</code>. Although the
  following files may also be found there, please check your
  favorite archive for any local copies:</p>

  <div align="center">
    <table border="1" cellpadding="5" width="80%" bgcolor=
    "#CCCCCC">
      <tbody>
        <tr>
          <td>
            <p>The STABLE version of maildrop:</p>

            <p><code><a href=
            "maildrop-@PREVIOUS_VERSION@.tar.gz">maildrop-@PREVIOUS_VERSION@.tar.gz</a></code>
            - the source code tarball.</p>

            <p><code><a href=
            "maildrop-@PREVIOUS_VERSION@-1.src.rpm">maildrop-@PREVIOUS_VERSION@-1.src.rpm</a></code>-
            the distribution source code in the RPM format. To
            build a binary RPM run the command <code>rpm --rebuild
            maildrop-@PREVIOUS_VERSION@-1.src.rpm</code>.</p>

            <p><code><a href=
            "maildrop-@PREVIOUS_VERSION@-1.i386.rpm">maildrop-@PREVIOUS_VERSION@-1.i386.rpm</a></code>
            - pre-built binary RPM for Red Hat Linux. Please note
            that the binary RPM's configuration includes the
            <code>--enable-restrict-trusted=0</code> flag: a
            relaxed security level which allows all users to use
            the -d option to <em>maildrop</em>. <em>Maildrop</em>'s
            default, strict, security model may result in sendmail
            temporarily deferring local mail (it will be eventually
            delivered). See <code><a href=
            "INSTALL.html">INSTALL</a></code> for more information.
            If your system does not require relaxed security, you
            may rebuild the source RPM (after making the
            appropriate adjustment to the .spec file).</p>
            <hr width="80%" />

            <p>The DEVELOPMENT version of maildrop:</p>

            <p><code><a href=
            "maildrop-@VERSION@.tar.gz">maildrop-@VERSION@.tar.gz</a></code></p>

            <p><code><a href=
            "maildrop-@VERSION@-1.src.rpm">maildrop-@VERSION@-1.src.rpm</a></code></p>

            <p><code><a href=
            "maildrop-@VERSION@-1.i386.rpm">maildrop-@VERSION@-1.i386.rpm</a></code></p>
          </td>
        </tr>
      </tbody>
    </table>
  </div>

  <p>The RPMs are signed with my GnuPG key: <code><a href=
  "http://www.geocities.com/SiliconValley/Peaks/5799/GPGKEY.txt">http://www.geocities.com/SiliconValley/Peaks/5799/GPGKEY.txt</a></code>.</p>

  <p><em>maildrop</em> includes documentation in HTML, as well as
  traditional man pages. The HTML versions may also be found at
  <code><a href=
  "maildrop.html">http://www.courier-mta.org/maildrop/maildrop.html</a>.</code></p>

  <h2>Introduction</h2><em>maildrop</em> is a replacement for your
  local mail delivery agent. <em>maildrop</em> reads a mail message
  from standard input, then delivers the message to your mailbox.
  <em>maildrop</em> knows how to deliver mail to mbox-style
  mailboxes, and maildirs. "maildir" is a mailbox format used by
  the <a href="http://www.qmail.org">Qmail</a> MTA.

  <p><em>maildrop</em> will optionally read instructions from a
  file, which describes how to filter incoming mail. Instructions
  can be provided having mail delivered to alternate mailboxes, or
  forwarded somewhere else. Unlike procmail, <em>maildrop</em> uses
  a structured filtering language.</p>

  <p><em>maildrop</em> is written in C++, and is significantly
  larger than procmail in compiled form. However, it uses resources
  much more efficiently. Unlike procmail, <em>maildrop</em> will
  not read a 10 megabyte mail message into memory. Large messages
  are saved in a temporary file, and are filtered from the
  temporary file. Temporary files are saved in the user's home
  directory. If the standard input to <em>maildrop</em> is a file,
  and not a pipe, a temporary file will not be necessary.</p>

  <p><em>maildrop</em> checks the syntax of the mail delivery
  instructions the filter file, before attempting to deliver a
  message. Unlike procmail, if the filter file contains syntax
  errors, <em>maildrop</em> terminates without delivering the
  message. The user can fix the typo without causing any mail to be
  lost.</p>

  <h2>Installation</h2>See <code><a href=
  "INSTALL.html">INSTALL</a></code> for installation information.
  If you are using an RPM-based GNU/Linux distribution, you can
  install the binary RPM (see above), or rebuild the source RPM.

  <h2>Using maildrop with sendmail</h2>Maildrop can be easily used
  as sendmail's local delivery agent, instead of procmail. Here is
  the suggested entry for sendmail.cf, courtesy of Eric J.
  Schwertfeger &lt;ejs<code>@</code>bfd.com&gt;:
  <pre>
Mlocal, P=/usr/local/bin/maildrop, F=lsAw5:/|@SPfhn, S=10/30, R=20/40,
 T=DNS/RFC822/X-Unix,
 A=maildrop -d $u
</pre>You may also consider including the D, F, and M flags as
well.

  <h2>Revision history (including development versions)</h2>

  <ul>
    <li>V0.77 - mostly library update. Some additional sanity
    checks when delivering to maildirs (checks for rogue soft links
    -- needed to support delivery to sharable maildirs).
    maildirmake update - creates sharable maildirs. Added hooks for
    integrating <code>maildrop</code>into Courier.</li>

    <li>V0.75 - new installation layout - will install into
    /usr/local/lib/maildrop/minor fixes to configuration scripts.
    Minor typos in userdb. Bug fix: exception statement will now
    trap maildir quota errors. AIX fixes.</li>

    <li>V0.74- fix compilation errors for SuSE 6.0. Qmail bug fix.
    userdb update.</li>

    <li>V0.73 - bug fix in getaddr()/hasaddr() functions, and
    reformail -r option.</li>

    <li>V0.72 - reformime enhancement/update. Maildir support
    update.</li>

    <li>V0.71 - a maintenance release. Patches for AIX and AFS
    support. Updates to documentation. Internal cleanup of the
    source code directory layout, which will allow me to include
    <code>maildrop</code> as parts of other projects. Fixed a bug
    in the reformime utility.</li>

    <li>V0.70 - option to enable soft enforcement of maildir
    quotas, see <code>README.maildirquota</code> in the maildir
    subdirectory. Virtual account support. Renamed
    <code>makegdbm</code> to <code>makedat</code>. Removed
    installation option to gzip manual pages -- too messy. Let
    target platform packagers/porters worry about it. to and cc
    commands that pipe the message to an external process will now
    set the <code>EXITCODE</code> variable to the exit code of the
    external process. External processes that terminate with a
    non-zero exit code will NOT automatically cause
    <em>maildrop</em> to terminate with the exit code of 75. The
    exit code will be saved in the <code>EXITCODE</code> variable.
    If the delivery command was <code>to</code>, <em>maildrop</em>
    simply terminates with the same exit code. If the delivery
    command was <code>cc</code>, <em>maildrop</em> continues after
    initializing <code>EXITCODE</code>.<br /></li>

    <li>V0.65 - option to compile Berkeley DB library, instead of
    GDBM. Added the <code>import</code> keyword. Some cleanup of
    HTML documentation.</li>

    <li>V0.64 - reformime fix - handle systems with broken pipe
    fseeks semantics. rfc822 library sync. Standardized names of
    some legacy .h files. Red Hat RPMs changed to install a tiny
    sh/bash/csh login script (from maildroptips) to purge
    <code>$HOME/.tmp</code>. <code>makegdbm</code> can now read
    from standard input. Some obscure fixes to rfc822 functions.
    Moved <code>reformime</code> to rfc2045 subpackage - it belongs
    there, and can be shared by other projects.</li>

    <li>
      <p>V0.63 - maintenance. Minor enhancements and bug fixes to
      the reformime utility. reformime can now convert 8-bit
      messages to or from quoted-printable encoding. reformime can
      now also add missing MIME headers to a message.</p>
    </li>

    <li>
      <p>V0.62 - array out of bounds bug fix in rfc822.c. Some
      additional options to configure to specify various
      directories. Option to configure to use /usr/local/etc
      instead of /etc.</p>
    </li>

    <li>
      <p>V0.61(prerelease) - rfc822 library sync. Added reformime
      standalone utility. Added support for GDBM database files.
      Because GDBM support adds significant amount of code to
      maildrop, GDBM support can be optionally disabled during
      installation. Added the time function. Changed how maildrop
      automatically converts results of floating point mathematical
      operation back into text - should not affect any existing
      filters. .</p>
    </li>

    <li>
      <p>V0.60 - no changes to the main maildrop code from version
      0.55c, except for cosmetic changes to some shared modules in
      order to accomodate the new reformime utility. The main
      maildrop code appears to be stable. Edited the documentation,
      and changed the flags that the RPM is built with. NEW:
      Experimental set of MIME functions, which are implemented as
      a separate program for now. The reformime program can be used
      to decode the MIME structure of a message, and extract
      different parts of it. At some point later, this
      functionality will be added as native functions in the
      maildrop filtering language. See <code><a href=
      "reformime.html">reformime.html</a></code> for more
      information.<br /></p>
    </li>

    <li>V0.55c - BUG FIX: maildrop would botch the situation where
    it had problems creating or writing to a temporary file. Fixed
    error handling so this condition correctly results in deferred
    mail. Added some sendmail-related notes to
    <code>INSTALL</code>. Added additional punctuation characters
    recognized by the escape() function. The chance that this would
    break existing scripts is very remote, but possible, however
    the additional escaped punctuation would allow the function to
    be used to hack-proof shell commands.</li>

    <li>V0.55b - enhancement: an optional parameter to configure,
    <code>--enable-syslog,</code> which will enable logging of
    fatal errors to syslog. sendmail discards standard error,
    making diagnosis of maildrop problems difficult. An optional
    switch to configure will have maildrop log all fatal error to
    syslog. Fixed core dump if <code>reformail</code> is given an
    invalid switch: '-f'.</li>

    <li>V0.55a - fixed some miscellaneous glitches in the
    configuration script. Fixed potential security problem on some
    platform with reformail incorrectly being installed with setuid
    privileges. Only cosmetic changes to the main maildrop program:
    made some error messages more descriptive; maildrop will now
    attempt to create a process group upon startup and upon
    termination maildrop will send a SIGHUP signal to its process
    group, hopefully terminating any child processes. No bug fixes
    are known, or have been reported.</li>

    <li>V0.55 - added <code>HOSTNAME</code> and <code>FROM</code>
    environment variables. Added -f option. Added support for
    <code>/etc/maildroprcs</code> - see <code>maildrop(1)</code>.
    Fixed obscure bug that can trash a file descriptor.</li>

    <li>V0.54b - Changed auto-configuration logic for enabling
    dotlocks. If the configure script detects that the system
    mailbox directly does NOT have the sticky bit set, dot-locks
    are disabled by default. <code>--enable-use-dotlock</code>
    option to configure can override that. Added
    --enable-keep-fromline option to preserve the original From_
    line address of messages. Note that the default value of this
    option may change maildrop's behavior from previous versions.
    See INSTALL for additional information. Documented some
    additional options to configure that were actually implemented
    in a previous version. Fixed error in select() logic that may
    cause the backtick command to fail in some situations.</li>

    <li>V0.54a - miscellaneous fixes. Changed the hasaddr()
    function to look at <code>Resent-To:</code> and
    <code>Resent-Cc:</code>headers. Default <code>SHELL</code> to
    <code>/bin/sh</code> if the shell is not specified in
    <code>/etc/passwd</code>. FreeBSD does not support
    <code>lockf()</code> on <code>/dev/null</code> -
    <code>lockf()</code> will no longer cause a fatal error if it
    fails on a character or a block special file. Fixed bug in
    configure script regarding failed initialization of
    <code>--enable-restrict-trusted</code> flag.</li>

    <li>V0.54 - edited the documentation. Added support for VPATH
    builds using automake - suggested by Harlan Stenn
    &lt;Harlan.Stenn<code>@</code>pfcs.com&gt;. Major rework of the
    configuration code. Changed all <code>#define-</code>s in
    config.h to use the <code>configure</code> script.</li>

    <li>V0.51c - Fixed the subtraction operator bug. Added sendmail
    documentation.</li>

    <li>V0.51b - Fixed compilation error for BSD. Fixed spurious
    "invalid directory permission" error if
    <code>$HOME/.mailfilters</code> does not exist in special
    embedded mode - maildrop will simply indicate quiet
    acceptance.</li>

    <li>V0.51 - ported to RedHat 5.1, added
    <code>/etc/maildroprc</code> global filter file.</li>

    <li>V0.50 - first public release.</li>
  </ul>
</body>
</html>