This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.
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 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.
The majority of these rules can also be found in the procmailex(5) manual page.
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 FreeBSD.org mailing lists and places each list in its own mailbox:
:0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
LISTNAME=${MATCH}
:0
* LISTNAME??^\/[^@]+
FreeBSD-${MATCH}
}
This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.