maildrop - mail delivery agent with filtering abilities

Current development version is 2.0.2, stable version is @PREVIOUS_VERSION@.

Copyright 1998-2003, 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://lists.sourceforge.net/lists/listinfo/courier-maildrop.

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.courier-mta.org/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-@PREVIOUS_VERSION@.tar.gz - the source code tarball.

maildrop-@PREVIOUS_VERSION@-1.src.rpm- the distribution source code in the RPM format. To build a binary RPM run the command rpm --rebuild maildrop-@PREVIOUS_VERSION@-1.src.rpm.

maildrop-@PREVIOUS_VERSION@-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-2.0.2.tar.gz

maildrop-2.0.2-1.src.rpm

maildrop-2.0.2-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.courier-mta.org/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 GNU/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)