[Project Home] [Bayesian Antispam Filter]
PALS MAIL FILTER(1) PALS MAIL FILTER(1)
NAME
palsfilter, palsharvest, palsextract - pals mail filter
SYNOPSIS
palsfilter [-q] [-v] [FILE]
palsharvest [options] PATTERN
palsextract [-q] [-v] [FILE]
DESCRIPTION
Pals mail filtering maintains a set of mail addresses
called pals. The set is maintained in the file
$PALS_HOME/.pals, or if the environment variable PALS_HOME
is not defined, $HOME/.pals. Each mail address in the
file is terminated with a newline. Mail from an address
that is not in the file is marked, which allows further
filtering based on the mark. In particular, one can write
rules such that only mail from a pal causes an indication
that mail has arrived. Pals mail filtering can make sure
that spam never does the same.
The palsfilter program adds a mark to mail from non-pals.
The mark it adds is the following non-standard header
field.
X-Pals: marked
When the palsfilter program is used as a filter, it is
often run in quiet mode using the command line switch -q.
In quiet mode, errors are not printed to standard error.
The program exits with a non-zero error code if the pals
file cannot be read.
The palsharvest script harvests mail addresses from a mail
message and adds the addresses to the pals file. The
addresses harvested are the ones in the To, Cc, and Bcc
fields. The command line arguments of palsharvest are
passed to grep, which filters addresses before they are
added to the pals file. A natural way to use palsharvest
is to apply it to messages from the owner of the mail
address. In this usage, a pal is someone that has
received mail from the owner of the mail address.
Given a mail message on standard input or a file, the pal-
sextract program prints each mail address it finds in the
To, Cc, and Bcc fields on a separate line. This program
is used by the palsharvest script.
OPTIONS
-q Run in quiet mode, where errors are not printed to
standard error.
-v Prints version information and then exits.
options
All palsharvest options are passed to grep(1).
PROCMAIL EXAMPLE
This is an excerpt of a procmail rcfile for a user with a
mail address of local@domain. Mail from the same domain
is not filtered.
# Collect pals by harvesting headers from me.
:0 hwc:
* ^From:.*local@domain
| palsharvest -v domain
# Filter mail through the pals filter,
# marking mail when not from a pal.
:0 fhw
* !^From:.*domain
| palsfilter -q
# Place marked mail into mbox for further filtering.
:0:
* ^X-Pals: marked
mbox
# Remaining mail goes into the default mailbox.
FILES
$PALS_HOME/.pals
The file containing a user's current set of mail
pals. This file is read by palsfilter, and updated
by palsharvest. When the environment variable
PALS_HOME is not defined, the set is maintained in
the file $HOME/.pals.
AUTHOR
John D. Ramsdell
SEE ALSO
grep(1), procmail(1)
June 2003 PALS MAIL FILTER(1)
I am grateful to SourceForge for making this project space available to me.