maildrop - mail delivery agent with filtering abilities
Current version is 0.54a
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
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.54a.tar.gz -
the source code tarball.
maildrop-0.54a-1.src.rpm
-
the distribution source code in the RPM format. To build a binary RPM run
the command rpm --rebuild maildrop-0.54a-1.src.rpm.
maildrop-0.54a-1.i386.rpm
- prebuilt binary RPM for Red Hat 5.1 i386.
The RPMs are signed with my PGP key: http://www.geocities.com/SiliconValley/Peaks/5799/PGPKEY.txt.
maildrop includes documention 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.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 can optionally read instructions from a file on how
to filter incoming mail, and, based upon the instructions, deliver mail
to alternate mailboxes, or forward it to somewhere else, like procmail.
Unlike procmail, maildrop uses a structured filtering language that's
a bit easier on the eyes.
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 that file. Files are saved in the user's home directory. If the standard
input to maildrop is a file, not a pipe, no temporary file will
be necessary.
maildrop performs syntax checks on the filter file before attempting
to deliver a message. Unlike procmail, if the filter file contains syntax
errors, maildrop will terminate without delivering the message,
allowing the user to fix the typo, and try again later without losing any
mail.
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, normally.
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.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 not 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.