Zmscanner is an extensible modular contentfilter for Zmailer and Sendmail MTAs. It is designed to be fast and efficient and thus suitable for high traffic mail systems.
$ svn co http://svn.average.org/svn/zmscanner/<module>/trunk <localdir>Modules are: zmscanner (core package), zms_clamav, zms_dehtml, zms_pcre.
Version 2 (prereleases are named 1.9x), as of this writing, is experimental. Main change is new Milter interface, that is, support for Sendmail as well as Zmailer. This change involved some modifications in existing code, so even Zmailer version may be affected.
As to the wishlist, the current status of decoders is OK for analyzing binary body parts, and ASCII text parts and headers. It sould be a Right Thing to convert all text parts, and non-ascii headers to UNICODE and make regular expression/etc. processors UNICODE-capable. Also, there are some very interesting opportunities in HTML scanners, e.g. normalizing host names, resolving them to IP addresses and then matching against a blacklist.
You need Zmailer that is not older than September 2003: older versions are not capable of communicating with the contentfilter over unix domain socket. Specify
PARAM contentfilter /path/to/zmscanner/socketin smtpserver.conf
Sendmail 8.13.3 is used for development of Milter part; binary to run is named smscanner.
For documentation, see manpages, README files in the distributions, and sample confguration files.
"zmscanner" is the core package, you must build and install (!) it before building modules.
As of this writing, four useful (and one not so useful) modules exist:
Eugene Crosser <crosser at average dot org>