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} }
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.