I realize this topic has been beaten to death, but I've decided to keep on
poking it anyhow. It also might be a little OT. I wasn't able to find
anything in the list archives similar to this, so I decided to post it in
case it's useful to someone.

I needed to have SpamAssassin scan all incoming mail for a particular domain
on my server. I didn't want to patch qmail and use qmail-qfilter or
qmail-scanner. I don't need the server to redirect the message, delete it,
or bounce it. I just want the spam to be tagged/modified and it's up to my
users what they do with it from there.

Here's the solution I came up with:

In my .qmail-default for the domain:
| spamc -u [EMAIL PROTECTED] -e /usr/local/vpopmail/bin/vdelivermail ''

My local.cf for SpamAssassin:
rewrite_subject 1
subject_tag ***SPAM***
auto_whitelist_path ~/auto-whitelist
bayes_path ~/bayes

The command used to start spamd:
spamd -a -d -u vpopmail -v

Points of interest:

I had to modify the auto_whitelist_path and bayes_path because for some
reason when spamd uses vpopmail style home dir (-v option) it already puts
/.spamassassin/ in the home dir path. (if I left the defaults my files would
end up at ~vpopmail/domain.com/user/.spamassassin/.spamassassin/file)

The following excerpt from the spamc man page explains that by using the -e
option there is a small chance of losing mail:
"Instead of writing to stdout, pipe the output to command's standard input.
Note that there is a very slight chance mail will be lost here, because if
the fork-and-exec fails there's no place to put the mail message."

I can't find anything wrong with this solution, but comments are definitely


Rob Gridley, System Administrator
MHz Design Communications Inc.

Macs for productivity. UNIX for stability. Windows for solitaire.

Reply via email to