bmf filter milter daemon
git clone git://
Log | Files | Refs | LICENSE

commit 700735c7bd2e86a7110705ffda2e39bb9d559c4f
parent f32ba1d473e410bdcbcd0cfbbe129d0ecb544e08
Author: Christoph Lohmann <>
Date:   Sun, 14 Jun 2020 17:43:39 +0200

Actually add the manpage file.

bmf-milter.8 | 173+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 173 insertions(+), 0 deletions(-)

diff --git a/bmf-milter.8 b/bmf-milter.8 @@ -0,0 +1,173 @@ +.Dd June 14, 2020 +.Dt BMF-MILTER 8 +.Os +. +.Sh NAME +.Nm bmf-milter +.Nd a milter daemon for bmf filtering +. +.Sh SYNOPSIS +.Nm +.Bk -words +.Op Fl d +.Op Fl b Ar bmfdb +.Op Fl c Ar conndef +.Op Fl f Ar bmfpath +.Op Fl g Ar group +.Op Fl t Ar timeout +.Op Fl u Ar user +.Op Fl v Ar dbglevel +.Ek +. +.Sh DESCRIPTION +.Bd -filled +.Nm +is a daemon to be used with +.Em postfix, +.Em sendmail +or anything providing a milter interface. +The daemon is run on unix socket, a fifo pipe or a tcp port, which +.Em postfix +or +.Em sendmail +connect to, using the milter protocol. +.Ed +. +.Sh OPTIONS +.Nm +options and default settings: +.Bl -tag -width Ds +. +.It Fl d +Do not fork into the background. By default +.Nm +forks into the background. +. +.It Fl b Ar bmfdb +Specify the directory where the +.Em bmf +database is stored. See +.Em bmf(1) +for details. The default is to use +.Em ~/.bmf +in the home directory +.Nm +runs as. +. +.It Fl c Ar conndef +Define the connection +.Em libmilter +should listen on (default: inet:9957). It can in in following forms. +.Bd -literal + {unix|local}:/path/to/file + inet:port[@{hostname|ip}] + inet6:port[@{hostname|ip}] +.Ed +. +.It Fl f Ar bmfpth +Specify the path to the +.Em bmf +binary. The default is +.Em /usr/bin/bmf. +. +.It Fl g Ar group +Sets the group to which privileges drop when +.Nm +is ready to accept network connections (default: group +.Nm +runs as). +Helps improve security by reducing privileges during request +processing. +. +.It Fl t Ar timeout +Defines the timeout in seconds for requests. The default is the default +compiled into +.Em libmilter. +. +.It Fl u Ar user +Sets the user to which privileges drop when +.Nm +is ready to accept network connections (default: user +.Nm +geomyidae runs as). Helps improve security by reducing +privileges during request processing. +. +.It Fl v Ar loglevel +Turn on debugging and set the debug level for +.Em libmilter. +The default is none. Libmilter accepts a maximum of six debug levels. +. +.El +. +.Sh BAYESIAN MAIL FILTER SETUP +Please see +.Em bmf(1) +for how the Bayesian mail filter works and how to train it for +spam and non-spam messages. Beware, that by default, +.Em bmf +will use the +.Em~/.bmf +directory of the user +.Em bmf +is running as. You can specify a different +.Em user +using the +.Em -u +flag. Another way is to specify a directory using the +.Em -b +flag. +There is no need to do anything specific there, +.Em bmf +will create the appropriate files on its own. +.Ed +. +.Sh MAIL FILTERING +.Nm +by default works in test mode of bmf and will apply two mail headers. +Following header is added, when the e-mail was processed using the +milter. +.Bd -literal + X-BMF-Processed: YES + +.Ed +When +.Em bmf +classified some e-mail as spam, following header is added. +.Bd -literal + X-Spam-Flag: YES + +.Ed +You can then apply your mail's filtering rules on those headers. +. +.Sh POSTIFX INTEGRATION +In the +.Em +file adapt the following line to your local configuration. +.Bd -literal + smtpd_milters=inet: +.Ed +. +.Sh SENDMAIL INTEGRATION +In your +.Em +adapt the following line to your needs. +.Bd -literal + INPUT_MAIL_FILTER(`bmf-milter', `S=inet:9957,F=T')dnl +.Ed +. +.Sh SEE ALSO +.Ic bmf(1), +.Ic postconf(5), +.Ic postfix(1), +.Ic sendmail(1) +. +.Sh AUTHORS +See the LICENSE file in the distribution for authors. +. +.Sh LICENSE +See the LICENSE file for the terms of redstribution. +. +.Ss "Reporting Bugs" +Report bugs to: +.An "Christoph Lohmann" Aq +