## Using procmail ***Contributed by Marc Silver. *** The ***procmail*** utility is an incredibly powerful application used to filter incoming mail. It allows users to define ***rules*** which can be matched to incoming mails to perform specific functions or to reroute mail to alternative mailboxes and/or email addresses. **procmail** can be installed using the [mail/procmail](http://pkgsrc.se/mail/procmail) port. Once installed, it can be directly integrated into most MTAs; consult your MTA documentation for more information. Alternatively, **procmail** can be integrated by adding the following line to a `.forward` in the home directory of the user utilizing **procmail** features: "|exec /usr/local/bin/procmail || exit 75" The following section will display some basic **procmail** rules, as well as brief descriptions on what they do. These rules, and others must be inserted into a `.procmailrc` file, which must reside in the user's home directory. Forward all mail from `user@example.com` to an external address of `goodmail@example2.com`: :0 * ^From.*user@example.com ! goodmail@example2.com Forward all mails shorter than 1000 bytes to an external address of `goodmail@example2.com`: :0 * < 1000 ! goodmail@example2.com Send all mail sent to `alternate@example.com` into a mailbox called `alternate`: :0 * ^TOalternate@example.com alternate Send all mail with a subject of ***Spam*** to `/dev/null`: :0 ^Subject:.*Spam /dev/null A useful recipe that parses incoming `dragonflybsd.org` mailing lists and places each list in its own mailbox: :0 * ^List-Post: <mailto:\/[^@]+ { LISTNAME=${MATCH} :0 * LISTNAME??^\/[^-]+ DragonFly-${MATCH} } CategoryHandbook CategoryHandbook-email