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>.