pkg-descr

bmf is an extremely efficient Bayesian mail filter based on
Paul Graham's article, "A Plan for Spam." It's fast, small,
efficient, and more versatile than other Bayesian filters.

-- bmf-user@lists.sourceforge.net

WWW: http://sourceforge.net/projects/bmf

pkg-message

============================
=== How to integrate bmf ===
============================

For maildrop(1), use only one of the following examples. The first
sample invokes bmf in its normal mode of operation and the second
invokes bmf as a filter:

### Sample One
# Invoke bmf and use return code to filter spam in one step
exception {
`bmf`
if ( $RETURNCODE == 0 )
to $MAILDIR/spam
}

### Sample Two
# Invoke bmf as a filter
exception {
xfilter "bmf -p"
if (/^X-Spam-Status: Yes/)
to $MAILDIR/spam
}


For procmail(1), use only one of the following samples. SPAM will be
filtered into $MAILDIR/spam. The first sample invokes bmf in its
normal mode of operation and the second invokes bmf as a filter.

### begin sample one ###
# Invoke bmf and use return code to filter spam in one step
:0HB
* ? bmf
| formail -A"X-Spam-Status: Yes, tests=bmf" >>$MAILDIR/spam

### begin sample two ###
# Invoke bmf as a filter
:0 fw
| bmf -p

# Filter spam
:0:
^X-Spam-Status: Yes
$MAILDIR/spam

If you put bmf in your maildrop or procmail scripts as suggested
above, it will always register an email as either spam or non-spam.
To reverse this registration and train bmf, the following mutt macros
may be useful:

macro index \ed "unset wait_key\nbmf -S\nset wait_key\n=spam\n" "Tags a given message as SPAM"
macro index \et "bmf -t\nset wait_key\n" "Tests a given message to see if it is SPAM"
macro index \eu "bmf -N\nset wait_key\n=inbox\n" "Untags a given message as SPAM"

These will override these commands:

d = de-register as non-spam, register as spam, and move to spam folder.
t = test for spamicity.
u = de-register as spam, register as non-spam, and move to inbox folder.

Please see the ${PREFIX}/share/bmf/README for further details.

pkg-plist

bin/bmf
bin/bmfconv
%%DATADIR%%/README
@dirrm %%DATADIR%%