NAME
mailfilterrc - Mailfilter configuration file
SYNOPSIS
$HOME/.mailfilterrc
DESCRIPTION
For a quick start read the INSTALL file provided with the Mailfilter
distribution and copy its example configuration. This is enough to run
the program with some basic features.
Generally the rcfile contains all of Mailfilter’s settings and
information on the mail accounts that should be checked for spam. It is
possible to place remarks in that file by beginning a line with ‘#’.
It does not matter in which order keywords are inserted, except for the
account set-up. To define an account you must use this whole block of
commands:
SERVER = "your.pop.server.com"
USER = "your.username"
PASS = "your.password"
PROTOCOL = "pop3"
PORT = 110
Currently Mailfilter supports the POP3, and APOP protocols which
usually communicate over port 110. However, port 995 is required, if
Mailfilter is instructed to communicate using the SSL layer as in:
SERVER = "your.pop.ssl.server.com"
USER = "your.username"
PASS = "your.password"
PROTOCOL = "pop3/ssl"
PORT = 995
KEYWORDS
Generally the rcfile is not case-sensitive, which means it does not
matter whether the keywords are spelled in capitals or not. You can
place white space characters before and in between a command and its
parameters.
# This is a typical comment
DENY = "^Subject:.*Get rich fast"
To see some example applications of the engaged keywords, please refer
to the mailfilterex(5) man page.
ALLOW = "expression"
This keyword can be used to override spam filters i.e. to define
‘friends’. A message that matches any ALLOW rules will not be
filtered or deleted. ALLOW takes a Regular Expression as
argument.
DEL_DUPLICATES = "[yes|no]"
This keyword can be used to delete duplicates of messages sent
to one or several accounts at once, i.e. it removes redundant e-
mails. DEL_DUPLICATES takes either ‘yes’ or ‘no’ as argument.
The default value is ‘no’.
DENY = "expression"
This keyword can be used to define spam filters. Messages that
match spam filters (unless they match an ALLOW rule at the same
time) are being deleted from the mail server. DENY takes a
Regular Expression as argument.
DENY <> "expression"
This keyword can be used to define a negative spam filter.
Messages that do not match the negative filters are being
deleted from the server. DENY<> takes a Regular Expression as
argument, e.g. ‘DENY<>^To:.*my_username’.
DENY_CASE = "expression"
This keyword can be used to define case-sensitive spam filters.
It overrides the default settings for case-sensivity (see
REG_CASE for details). DENY_CASE takes a Regular Expression as
argument.
DENY_CASE <> "expression"
This keyword can be used to define negative case-sensitive spam
filters. It overrides the default settings for case-sensivity
(see REG_CASE for details). DENY_CASE<> takes a Regular
Expression as argument.
DENY_NOCASE = "expression"
This keyword can be used to define case-insensitive spam
filters. It overrides the default settings for case-sensivity
(see REG_CASE for details). DENY_NOCASE takes a Regular
Expression as argument.
DENY_NOCASE <> "expression"
This keyword can be used to define negative case-insensitive
spam filters. It overrides the default settings for case-
sensivity (see REG_CASE for details). DENY_NOCASE<> takes a
Regular Expression as argument.
HIGHSCORE = value
This keyword can be used to define a discrete threshold upon
which messages should be deleted. Individual scores are
accumulated by assigning values and filters with the SCORE or
MAXSIZE_SCORE keywords. Its default value is 100.
INCLUDE = "path"
This keyword can be used to include additional configuration
files into the main Mailfilter rcfile. That is, the program
settings may be conveniently split into several different files.
INCLUDE expects a path and file name as argument.
LOGFILE = "path"
This keyword can be used to define a log file for Mailfilter.
The log file is being used to store error messages and
information on deleted messages. LOGFILE expects a path and file
name as argument.
MAXLENGTH = value
This keyword can be used to define a maximum string length that
must not be exceeded by any field of a message header. The
according Internet standard RFC 822 suggests a limit of 998
characters per field. This option even overrides any ‘friendly’
ALLOW rules, i.e. deletes them if they exceed the limit.
Assigning a ‘0’ disables the feature.
MAXSIZE_ALLOW = value
This keyword can be used to define a maximum message size that
must not be exceeded by all messages that match any ALLOW rule.
(One could say, this is the size limit ‘friends’ should not
exceed.) The limit does not affect other messages. To define a
more general message size limit, use MAXSIZE_DENY instead.
MAXSIZE_ALLOW takes the number of bytes as argument. Assigning a
‘0’ disables this feature.
MAXSIZE_DENY = value
This keyword can be used to define a general message size limit
that must not be exceeded. (Unless the incoming message matches
an ALLOW rule. In that case MAXSIZE_ALLOW would apply.)
MAXSIZE_DENY takes the number of bytes as argument. Assigning a
‘0’ disables this feature.
MAXSIZE_SCORE value = value
This keyword can be used to attach a score to a size limit. If
that limit is exceeded, then the score will be added to the
accumulated score from applying other scored filters (see the
SCORE keyword below). The first value (before ‘=’) is the
score, the second value (after ‘=’) is the size limit.
Assigning a ‘0’ to either the score or the size limit disables
this feature.
NORMAL = "[yes|no]"
This keyword tells Mailfilter to ‘normalise’ the subject strings
in messages. A normalised string consists only of alpha-numeric
characters. When normalisation is turned on, Mailfilter tries to
apply its filters first to the original subject line, before it
tries to match the normalised one. NORMAL takes either ‘yes’ or
‘no’ as argument. The default value is ‘no’.
REG_CASE = "[yes|no]"
This keyword can be used to define how Mailfilter should treat
its Regular Expressions, case-sensitive or case-insensitive.
REG_CASE takes either ‘yes’ as argument to enable case-sensivity
or otherwise ‘no’ to disable it. The default behaviour is to
ignore the case.
REG_TYPE = "[basic|extended]"
This keyword can be used to define which type of Regular
Expression Mailfilter should use. REG_TYPE can either be
switched to ‘extended’ or ‘basic’. The default value is ‘basic’.
SCORE value = "expression"
This keyword can be used to assign a score to a filter. It
expects a discrete number and a Regular Expression filter as
input. If the filter matches a line of the message header, the
score is being accumulated to previously matched filters. (See
mailfilterex (5) for an example.)
SCORE value <> "expression"
This keyword can be used in the same fashion as SCORE, but it
assigns the score only if the filter can not be matched to any
line of the message header.
SCORE_CASE value = "expression"
This keyword is similar to SCORE, but it treats the Regular
Expression as case sensitive filter, regardless of other program
settings.
SCORE_CASE value <> "expression"
This keyword can be used in the same fashion as SCORE_CASE, but
it assigns the score only if the filter can not be matched to
any line of the message header.
SCORE_NOCASE value = "expression"
This keyword is similar to SCORE, but it treats the Regular
Expression as case insensitive filter, regardless of other
program settings.
SCORE_NOCASE value <> "expression"
This keyword can be used in the same fashion as SCORE_NOCASE,
but it assigns the score only if the filter can not be matched
to any line of the message header.
SERVER / USER / PASS / PROTOCOL / PORT
These keywords can only be used as a whole and in the given
order. Such a block defines an e-mail account to be checked for
spam by Mailfilter. A typical block looks like this:
SERVER = "your.pop.server.com"
USER = "your.username"
PASS = "your.password"
PROTOCOL = "protocol"
PORT = 110
It is especially important to not change the arrangement of this
block. At the moment, PROTOCOL supports either ‘pop3’
(‘pop3/ssl’), or ‘apop’ (‘apop/ssl’). The normal variant
usually corresponds to port 110, while encrypted communication
via SSL, typically, requires port 995.
SHOW_HEADERS = "path"
This keyword can be used to store the message headers of
absolutely all filtered e-mails of an account. SHOW_HEADERS
expects a path and a file name as argument indicating where to
store the headers in.
TEST = "[yes|no]"
This keyword prevents Mailfilter from deleting any messages on
any e-mail accounts. It is useful to experiment with filters and
Regular Expressions and to see how Mailfilter reacts to the
user’s changes. The option can be turned on by assigning ‘yes’
to TEST. The default value is ‘no’.
TIMEOUT = value
This keyword can be used to define a server response time out in
seconds. That is, the mail server has to respond to an issued
command within a given time span, otherwise Mailfilter will drop
the connection and issue an error. TIMEOUT takes an integer
value as argument. The default is set to 30 (seconds).
VERBOSE = value
This keyword can be used to define the level of verbosity. It
takes an integer as argument.
0 Silent, show nothing at all
1 Only show errors
2 Only show "Deleted..." messages and errors
3 Default; Show "Deleted..." messages, errors and
"Examining..." messages
4 Like (3), except this also shows the current account’s
username
5 Like (4), except this also shows which filter matched
which string of an e-mail header
6 Debugging mode; prints out almost everything
DEPRECATED KEYWORDS
There are a few keywords from older versions of Mailfilter that are not
supported anymore. The following list contains all these keywords and
recommends substitutes.
ICASE Use REG_CASE instead.
MAXSIZE
Use MAXSIZE_ALLOW and MAXSIZE_DENY instead.
MODE Use VERBOSE instead.
Even though Mailfilter still ‘silently’ supports some of these words,
you can not rely on that for future versions. It is highly recommended
to update old configuration files.
SEE ALSO
mailfilter(1), mailfilterex(5), regex(7)
COPYRIGHT
Copyright © 2000-2009 Andreas Bauer <baueran@gmail.com>
This is free software; see the source for copying conditions. There is
NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.