Translation(s): none

(!) ?Discussion

DSPAM is an open-source, freely available anti-spam solution designed to combat unsolicited commercial email using advanced statistical analysis.

This page gives additional documentation on Debian specific adaptations and default configurations for the dspam packages (dspam, dspam-doc, dspam-webfrontend, libdspam7, libdspam7-drv). Hopefully this information can be refined and adapted into the dspam packages. The initial draft was based on dspam 3.6.8-5etch1.

DSPAM Packages

Configuration Options Used

The Debian dspam package has a good balance of compiled options. You can read about some and about recompiling in /usr/share/doc/dspam/README.Debian. To save you the time of downloading the source to view them, here they are for 3.6.8-5etch1:

Package Layout

The dspam package has been nicely modified to fit the standard layout of a Debian package. Configuration files are in /etc, log files are in /var/log, and the email like data is under /var/spool. You can see what the package places by default by looking at the output of dpkg -L dspam. Only the notable differences from the DSPAM documentation will be listed here.


The comments in this file note that this file may be symbolically linked or copied into DSPAM_HOME to set the system-wide preferences. In the Debian package no such action is required. It reads it in /etc/dspam.


This is where the dspam.debug and dspam.messages files appear. There may be a bug with the files being created initially when run as a non-privileged user. The directory is 755 dspam:dspam. If you run dspam the first time as a normal user, to just test it, a debug log will not be created even if you specify --debug. If you run the same command as root, dspam.debug is created as 660 root:dspam.

Perhaps this quirk of the file permissions can be considered a feature by making sure logging doesn't happen until root wants it. If you don't like the feature, you can fix it with dpkg-statoverride:

dpkg-statoverride --remove /var/log/dspam
dpkg-statoverride --update --add dspam dspam 775 /var/log/dspam


As emphasized above in the build options, this is the DSPAM_HOME directory. Some documentation like the DSPAM README may be referring to this directory when they list just $HOME. This is where the data, opt-in, and opt-out directories go.

Note that the package is built with --enable-domain-scale. This option enables an extra site directory level under these directories. If you are dealing with local delivery and not specifying the doman in the --user dspam command line argument, dspam will use the domain local. (Eg. data/local/$USER instead of data/$USER)

The dspam.options file has been changed to Opt in by default from Opt out. This is a good thing, but it means that DSPAM will appear to not work for your test user until you mkdir -p /var/spool/dspam/opt-in/local and then touch /var/spool/dspam/opt-in/local/$USER.dspam. It would be nice if dspam would create those directory paths when they don't exist.

Getting Involved

Besides helping to add to this wiki, please take some time to help triage bug reports, submit patches to add more documentation to the package and participate in mailing lists about dspam.