File: README

package info (click to toggle)
maildrop 0.75-2.1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 2,760 kB
  • ctags: 1,588
  • sloc: cpp: 9,269; ansic: 6,018; perl: 786; sh: 467; makefile: 398
file content (220 lines) | stat: -rw-r--r-- 11,743 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

            maildrop - mail delivery agent with filtering abilities
                                       
   Current development version is 0.75, stable version is 0.74.
   
   Copyright 1998-1999, Double Precision Inc.
   
   This program is distributed under the terms of the GNU General Public
   License. See COPYING for additional information.
   
Where to find maildrop

   Join the maildrop mailing list - http://maildropl.listbot.com.
   
   I've started a list of "tips and tricks" for writing mail filters with
   maildrop.
   
   The HTML version of the maildrop README is located at
   http://www.flounder.net/~mrsam/maildrop/. Although the following files
   may also be found there, please check your favorite archive for any
   local copies:
   
   The STABLE version of maildrop:
   
   maildrop-0.74.tar.gz - the source code tarball.
   
   maildrop-0.74-1.src.rpm - the distribution source code in the RPM
   format. To build a binary RPM run the command rpm --rebuild
   maildrop-0.74-1.src.rpm.
   
   maildrop-0.74-1.i386.rpm - pre-built binary RPM for Red Hat Linux.
   Please note that the binary RPM's configuration includes the
   --enable-restrict-trusted=0 flag: a relaxed security level which
   allows all users to use the -d option to maildrop. Maildrop's default,
   strict, security model may result in sendmail temporarily deferring
   local mail (it will be eventually delivered). See INSTALL 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).
          ________________________________________________________
   
   The DEVELOPMENT version of maildrop:
   
   maildrop-0.75.tar.gz
   
   maildrop-0.75-1.src.rpm
   
   maildrop-0.75-1.i386.rpm
   
   The RPMs are signed with my GnuPG key:
   http://www.geocities.com/SiliconValley/Peaks/5799/GPGKEY.txt.
   
   maildrop includes documentation in HTML, as well as traditional man
   pages. The HTML versions may also be found at
   http://www.flounder.net/~mrsam/maildrop/maildrop.html.
   
Introduction

   maildrop is a replacement for your local mail delivery agent. maildrop
   reads a mail message from standard input, then delivers the message to
   your mailbox. maildrop knows how to deliver mail to mbox-style
   mailboxes, and maildirs. "maildir" is a mailbox format used by the
   Qmail MTA.
   
   maildrop 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, maildrop uses a structured filtering language.
   
   maildrop is written in C++, and is significantly larger than procmail
   in compiled form. However, it uses resources much more efficiently.
   Unlike procmail, maildrop 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 maildrop is a file,
   and not a pipe, a temporary file will not be necessary.
   
   maildrop 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, maildrop terminates without
   delivering the message. The user can fix the typo without causing any
   mail to be lost.
   
Installation

   See INSTALL for installation information. If you are using an
   RPM-based Linux distribution, you can install the binary RPM (see
   above), or rebuild the source RPM.
   
Using maildrop with sendmail

   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 <ejs@bfd.com>:

Mlocal,         P=/usr/local/bin/maildrop, F=lsAw5:/|@SPfhn, S=10/30, R=20/40,
                T=DNS/RFC822/X-Unix,
                A=maildrop -d $u

   You may also consider including the D, F, and M flags as well.
   
Revision history (including development versions)

     * 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.
     * V0.74- fix compilation errors for SuSE 6.0. Qmail bug fix. userdb
       update.
     * V0.73 - bug fix in getaddr()/hasaddr() functions, and reformail -r
       option.
     * V0.72 - reformime enhancement/update. Maildir support update.
     * 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 maildrop as parts
       of other projects. Fixed a bug in the reformime utility.
     * V0.70 - option to enable soft enforcement of maildir quotas, see
       README.maildirquota in the maildir subdirectory. Virtual account
       support. Renamed makegdbm to makedat. 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 EXITCODE variable
       to the exit code of the external process. External processes that
       terminate with a non-zero exit code will NOT automatically cause
       maildrop to terminate with the exit code of 75. The exit code will
       be saved in the EXITCODE variable. If the delivery command was to,
       maildrop simply terminates with the same exit code. If the
       delivery command was cc, maildrop continues after initializing
       EXITCODE.
     * V0.65 - option to compile Berkeley DB library, instead of GDBM.
       Added the import keyword. Some cleanup of HTML documentation.
     * 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 $HOME/.tmp. makegdbm can now
       read from standard input. Some obscure fixes to rfc822 functions.
       Moved reformime to rfc2045 subpackage - it belongs there, and can
       be shared by other projects.
     * 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.
     * 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.
     * 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.
       .
     * 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 reformime.html for more
       information.
     * 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 INSTALL. 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.
     * V0.55b - enhancement: an optional parameter to configure,
       --enable-syslog, 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
       reformail is given an invalid switch: '-f'.
     * 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.
     * V0.55 - added HOSTNAME and FROM environment variables. Added -f
       option. Added support for /etc/maildroprcs - see maildrop(1).
       Fixed obscure bug that can trash a file descriptor.
     * 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. --enable-use-dotlock 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.
     * V0.54a - miscellaneous fixes. Changed the hasaddr() function to
       look at Resent-To: and Resent-Cc: headers. Default SHELL to
       /bin/sh if the shell is not specified in /etc/passwd. FreeBSD does
       not support lockf() on /dev/null - lockf() 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
       --enable-restrict-trusted flag.
     * V0.54 - edited the documentation. Added support for VPATH builds
       using automake - suggested by Harlan Stenn
       <Harlan.Stenn@pfcs.com>. Major rework of the configuration code.
       Changed all #define-s in config.h to use the configure script.
     * V0.51c - Fixed the subtraction operator bug. Added sendmail
       documentation.
     * V0.51b - Fixed compilation error for BSD. Fixed spurious "invalid
       directory permission" error if $HOME/.mailfilters does not exist
       in special embedded mode - maildrop will simply indicate quiet
       acceptance.
     * V0.51 - ported to RedHat 5.1, added /etc/maildroprc global filter
       file.
     * V0.50 - first public release.