Maildrop

Maildrop is a Mail delivery agent used by the Courier Mail Server. The maildrop Mail Delivery Agent (MDA) also includes filtering functionality.

Maildrop receives mail via stdin and delivers in both Maildir and mbox formats.

Features
Maildrop can optionally read filtering configuration from a file to determine whether the message is delivered to an alternate mailbox or forwarded. The structured filtering language is robust enough to allow maildrop to work with virtual mailboxes. If the filtering configuration contains syntax errors maildrop does not deliver the message but the message is not lost.

Maildrop can run in different modes, depending on the calling environment. Delivery mode is the "normal" mail filtering mode; that is, during final delivery, after the message left the SMTP environment. However, maildrop can also run in embedded mode; that is, during an SMTP transaction. Running in embedded mode allows a filter to reject a message before the server accepts it for local delivery. Finally, maildrop can run in manual mode, like any other interpreter.

Maildrop is written in C++. However, it uses resources more efficiently than procmail (written in C) by saving large messages to a temporary file rather than reading them into memory. If the input to maildrop is a file then a temporary file is not used.