
            maildrop - mail delivery agent with filtering abilities
                                       
   Current version is 0.60
   
   Copyright 1998, 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.geocities.com/SiliconValley/Peaks/5799/maildrop.README.html
   . Although the following files may also be found there, please check
   your favorite archive for any local copies:
   
   maildrop-0.60.tar.gz - the source code tarball.
   
   maildrop-0.60-1.src.rpm - the distribution source code in the RPM
   format. To build a binary RPM run the command rpm --rebuild
   maildrop-0.60-1.src.rpm.
   
   maildrop-0.60-1.i386.rpm - pre-built binary RPM for Red Hat 5.1 i386.
   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).
          ________________________________________________________
   
   Previous version of maildrop:
   
   maildrop-0.55c.tar.gz
   
   maildrop-0.55c-1.src.rpm
   
   maildrop-0.55c-1.i386.rpm
   
   The RPMs are signed with my PGP key:
   http://www.geocities.com/SiliconValley/Peaks/5799/PGPKEY.txt.
   
   maildrop includes documentation in HTML, as well as traditional man
   pages. The HTML versions may also be found at
   http://www.geocities.com/SiliconValley/Peaks/5799/maildrop.maildrop.ht
   ml.
   
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.
   
   maildrop uses the GNU autoconf configure script.
   
Installation

   See the file 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

     * V0.60 - no changes to code from version 0.55c. The code appears to
       be stable. Edited the documentation, and changed the flags that
       the RPM is build with.
       
     * 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.
