Hi all,
I just recently completed an upgrade of my mail system. The system was just a plain qmail server, and it worked pretty well except it had no spam filtering; something many of my clients were clamoring for.
With the upgrade, I now have SpamAssassin and ClamAV. I'm very happy with the results, but I would like to have the server actually filter the spam, not just identify and brand it. In fact, one of my clients using SquirrelMail exclusively, so server-side filtering is really a must.
For the upgrade, I followed the QmailRocks formula for the most part. But during the upgrade, I discovered that vpopmail would have required that the users that use an MUA to change the way they log into their system. This was a headache I didn't want to deal with. Also, vpopmail requires that all mail be stored in one spot on my system instead of in the home directories of my users, which is the way my system has always worked. There are also some other reasons why I prefer mail be stored in the users's home directories, some logistical and others having to do with my comfort zone. So I excluded vpopmail from my configuration. It took some doing, but it does work!
Now I need to figure out the filtering. I've tried to configure maildrop to take all messages identified as SPAM into a folder called "SPAM". But everytime I try to put things in place, I don't get any messages at all. I take out the changes, and I get all of the message (in the INBOX, of course).
Here are the key files:
/etc/maildroprc:
Code:
import SENDER
DEFAULT=$HOME/Maildir/
~user/.qmail:
Code:
|preline /usr/local/bin/maildrop -d $USER ./.mailfilter
~user/.mailfilter
Code:
if ( /^Subject: :SPAM:/)
{
to "$HOME/Maildir/.SPAM"
}
In the 'to "$HOME/Maildir/.SPAM"' line, I've also tried the following:
Code:
to "$MAILDIR/.SPAM"
to "Maildir/.SPAM"
to "Mail/SPAM"
All to no avail.
Every solution that I've found that remotely resembles the QMR solution involves vpopmail. I DO NOT WANT TO USE VPOPMAIL! I'm hoping someone else has done what I'm attempting and can give me a few pointers. I don't understand why this is not working. Anybody have any ideas?
Thanks in advance,
Robert...