Version 0.19

October 5, 2006

Clamdmail is a qmail-queue replacement that provides interfaces for MTA-level antivirus, greylisting, and spam filtering. Clamdmail can call any combination of an external greylist (soft rejections based on connection data), a scanner (hard rejections based on message content), and a filter (arbitrary message rewriting). Clamdmail does not provide any of these functions internally, but simply provides a framework to call other tools to scan and filter incoming email as you see fit. By default clamdmail tries to run the included clamd-greylist, clamdscan and spamassassin, but it can easily be adapted to run any other programs with similar interfaces.

Clamdmail is similar to other c-based scanners like simscan, but aims to be lighterweight with no parsing (of messages or preferences) and consequently no support for domain-based preferences. Clamdmail does support runtime configuration via environmental variables though, so you can enforce different virus and spam policies based on IP address or other data available on a per-connection basis.

Zach Kotlarek <>


Clamdmail 0.19 provides no changes in function from 0.18a. It's simply a code cleanup (mostly lint-inspired). I've also improved the detection of PostgreSQL libraries for clamd-greylist, and made a couple of minor changes to the installation sections of the makefile, but at runtime you shouldn't see anything different happening.

Other Documentation

General readme and run-time configuration. Details the required and optional environmental variables and configuration files.
Installation instructions and compile-time configuration. Details the important ./configure options and includes some hints fo integration with your qmail system.
A short, textual description of the algorithm used by clamd-queue. It's not complicated, but it's handy to have design documentation from time to time.
Clamd-greylist Readme
Readme for the included pgsql greylist implementation. Details the configuration files and the required DB schema.