Procmail/doc/FEATURES

Feature summary for procmail

 * It's less filling (i.e. small)
 * Very easy to install (rated PG6 :-)
 * Simple to maintain and configure because all you need is actually only ONE executable (procmail) and ONE configuration file (.procmailrc)
 * Is event driven (i.e. gets invoked automagically when mail arrives)
 * Does not use *any* temporary files
 * Uses standard egrep regular expressions
 * It poses a very low impact on your system's resources (it's 1.4 times faster than the average /bin/mail in user-cpu time)
 * Allows for very-easy-to-use yes-no decisions on where the mail should go (can take the size of the mail into consideration)
 * Also allows for neural-net-type weighted scoring of mails
 * Filters, delivers and forwards mail *reliably*
 * Provides a reliable hook (you might even say anchor :-) for any programs or shell scripts you may wish to start upon mail arrival
 * Performs heroically under even the worst conditions (file system full, out of swap space, process table full, file table full, missing support files, unavailable executables, denied permissions) and tries to deliver the mail somehow anyway
 * Absolutely undeliverable mail (after trying every trick in the book) will bounce back to the sender (or not, your choice)
 * Is one of the few mailers to perform reliable mailbox locking across NFS as well (DON'T use NFS mounted mailboxes WITHOUT installing procmail; you may lose valuable mail one day)
 * Supports five mailfolder standards: single file folders (standard and nonstandard VNIX format), directory folders that contain one file per message, the similar MH directory folders (numbered files), and Maildir directory folders (a multi-directory format that requires no locking)
 * Native support for /var/mail/b/a/bar type mailspools
 * Variable assignment and substitution is an extremely complete subset of the standard /bin/sh syntax
 * Provides a mail log file, which logs all mail arrival, shows in summary whence it came, what it was about, where it went (what folder) and how long (in bytes) it was
 * Uses this log file to display a wide range of diagnostic and error messages (if something went wrong)
 * Does not impose *any* limits on line lengths, mail length (as long as memory permits), or the use of any character (any 8-bit character, including '\0' is allowed) in the mail
 * It has man pages (boy, does it have man pages)
 * Procmail can be used as a local delivery agent with comsat/biff support (*fully* downwards compatible with /bin/mail); in which case it can heal your system mailbox, if something messes up the permissions
 * Secure system mailbox handling (contrary to several well known /bin/mail implementations)
 * Provides for a controlled execution of programs and scripts from the aliases file (i.e. under defined user ids)
 * Allows you to painlessly shift the system mailboxes into the users' home directories
 * It runs on virtually all (old and future) operating systems which names start with a 'U' or end in an 'X' :-) (i.e. extremely portable code; POSIX, ANSI C and K&R conforming)
 * Is clock skew immune (e.g. in the case of NFS mounted mailboxes)
 * Can be used as a general mailfilter for whole groups of messages (e.g. when called from within sendmail.cf rules)
 * Can act as an LMTP server for reliable multiple recipient delivery
 * Works with (among others?) sendmail, ZMailer, smail, MMDF, mailsurr, qmail, and postfix

Feature summary for formail

 * Can generate auto-reply headers
 * Can convert mail into standard mailbox format (so that you can process it with standard mail programs)
 * Can split up mailboxes into the individual messages
 * Can split up digests into the individual messages
 * Can split up saved articles into the individual articles
 * Can do simple header munging/extraction
 * Can extract messages from mailboxes
 * Can recognise duplicate messages

Feature summary for lockfile

 * Provides NFS-secure lockfiles to shell script programmers
 * Gives normal users the ability to lock their system mailbox, regardless of the permissions on the mail-spool directory