spamd - daemonized version of spamassassin
spamd [options]
Options:
-a, --auto-whitelist, --whitelist Use auto-whitelists -c, --create-prefs Create user preferences files -C path, --configpath=path Path for default config files -d, --daemonize Daemonize -h, --help Print usage message. -i ipaddr, --listen-ip=ipaddr,... Listen on the IP ipaddr (default: 127.0.0.1) -m num, --max-children num Allow maximum num children -p port, --port Listen on specified port (default: 783) -q, --sql-config Enable SQL config (only useful with -x) -V, --virtual-config=dir Enable Virtual configs (needs -x) -r pidfile, --pidfile Write the process id to pidfile -s facility, --syslog=facility Specify the syslog facility (default: mail) --syslog-socket=type How to connect to syslogd (default: unix) -u username, --username=username Run as username -v, --vpopmail Enable vpopmail config -x, --nouser-config Disable user config files -A host,..., --allowed-ips=..,.. Limit ip addresses which can connect -D, --debug Print debugging messages -L, --local Use local tests only (no DNS) -P, --paranoid Die upon user errors -H dir Specify a different HOME directory, path optional
Options of the long form can be shortened as long as they remain unambiguous. (i.e. --dae can be used instead of --daemonize) Also, boolean options (like --auto-whitelist) can be negated by adding --no (--noauto-whitelist), however, this is usually unnecessary.
Note that this requires that -x is used, and cannot be combined with SQL-based configuration.
stderr
is specified,
output will be written to stderr. This is useful if you're running spamd
under the daemontools
package.
unix
,
inet
or none
. The default is to try unix
first, falling back to
inet
if perl detects errors in its unix
support.
Some platforms, or versions of perl, are shipped with dysfunctional versions of the Sys::Syslog package which do not support some socket types, so you may need to set this. If you get error messages regarding __PATH_LOG or similar from spamd, try changing this setting.
setuid()
to
the user running spamc
, if spamd
is running as root.
off(on)
per-user config files. All users will just get the default
configuration.
-A 10.11.12.13,10.11.12.14 -- only allow connections from 10.11.12.13 and 10.11.12.14
-A 10.200.300.0/24 -- allow connections from any machine in the range 10.200.300.*
By default, connections are only accepted from localhost [127.0.0.1].
-L
flag to spamassassin(1)
.
Please note that there is a OS specific maximum of connections that can be
queued (Try perl -MSocket -e'print SOMAXCONN'
to find this maximum).
Also, some OSes versions of perl may have issues with tracking child processes
correctly, in which case this switch may cause core-dumps. (one report
is that perl versions pre-5.7.3 on IRIX can display this behaviour.)
The purpose of this program is to provide a daemonized version of the spamassassin executable. The goal is improving throughput performance for automated mail checking.
This is intended to be used alongside spamc
, a fast, low-overhead C client
program.
See the README file in the spamd
directory of the SpamAssassin distribution
for more details.
Note: Although spamd will check per-user config files for every message, any changes to the system-wide config files will require restarting spamd for the changes to take effect.
Perl 5.005_03 seems to have a bug, which spamd triggers, causing messages to pass through unscanned. Upgrading to Perl 5.6 seems to fix the problem, so that's the current workaround. More information can be found at http://www.hughes-family.org/bugzilla/show_bug.cgi?id=497
spamc(1)
spamassassin(1)
Mail::SpamAssassin(3)
Mail::SpamAssassin::Conf(3)
Craig R Hughes <craig@hughes-family.org>
Mail::SpamAssassin