How to kill SpamAssassin

SpamAssassin is running despite being told not to


When I logged into the control panel today, I noticed that my disk usage was much higher than expected. I did some looking around and found the file:


This file is 1.6 GB is size.

I down loaded it to my computer and started poking around, and what surprised the heck out of me is that every message in the file is marked:

X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
X-Spam-Flag: YES

Why is this a surprise? Because after trying SpamAssassin for a couple of days, I turned it off. I checked Webmin->System->Bootup and Shutdown and SpamAssassin is clearly marked as No. But, it is still doing its thing - the file is growing continuously.

So, how can I kill this damnable program for once and for all?

Thanks for your help!

Some more information:

Virtualmin->Edit Virtual Server->Enabled Features: SpamAssassin is not shown

I checked Virtualmin->System Settings->Features and Plugins: Spam filtering and virus filtering are both unchecked.

I looked for the processes:

ps uax | grep clam
ps aux | grep spamd

Both returned nothing (but spam IS being filtered)

I checked Webmin->Servers->Procmail Mail Filter: Feed to program /usr/bin/spamassassin is unchecked, but /etc/procmailrc reads as follows:

| /usr/bin/spamassassin

  • ^X-Spam-Status: Yes

This led me to check /var/log/procmail.log, in which I see numerous instances of:

Failed to open /etc/webmin/miniserv.conf : Permission denied at /etc/webmin/virtual-server/ line 9.
procmail: Program failure (13) of “/etc/webmin/virtual-server/”

Line 9 reads:

open(CONF, “/etc/webmin/miniserv.conf”) …

The file /etc/webmin/miniserv.conf does exist. It is owned by root and its permissions are 600.

I also spotted the following within etc/webmin/miniserv.conf:


I went nuclear on this problem:

yum remove spamassassin

This worked.


If Spam filtering is not enabled in Edit Virtual Server -> Enabled Features, it definitely shouldn’t be checking for spam in that domain.

Now, it might still check if the SpamAssassin daemon isn’t running, it can do so using the command line.

But if the feature is disabled it shouldn’t.

So that’s all very odd!

I’m glad you were able to get it working.

If you reinstall SpamAssassin later, I’d be curious what the contents of your /etc/procmailrc are, as well as the output of “postconf -n”.

But if things are working, no need to get all that :slight_smile:



Thanks for the reply. Your comment, ‘it can do so using the command line’ was very enlightening - could not understand why SpamAssassin was running when everything seemed to suggest that it should not.

Here is the first few lines of /etc/procmailrc. (I had posted this earlier, but for some reason, this forum does not seem to honor lines breaks, so with the formatting screwed up, it was not at all apparent.)

[root@admin ~]# cat /etc/procmailrc

DROPPRIVS=yes :0fw | /usr/bin/spamassassin :0 * ^X-Spam-Status: Yes $DEFAULT

Ah, I did notice that above now that you mention it, but it’s missing a number of things that are normally in that file, and didn’t stand out to me as being a procmailrc file :slight_smile:

How did you install Virtualmin, out of curiosity, was it using the script?

In that particular procmailrc, it appears to have some code manually added to it that is telling SpamAssassin to scan all incoming emails. You wouldn’t actually want that, Virtualmin configures SpamAssassin to do so elsewhere.

The procmailrc file would normally look something like this:

LOGFILE=/var/log/procmail.log TRAP=/etc/webmin/virtual-server/ :0wi VIRTUALMIN=|/etc/webmin/virtual-server/ --exitcode 73 $LOGNAME EXITCODE=$? :0 * ?/usr/bin/test "$EXITCODE" = "73" /dev/null :0 * ?/usr/bin/test "$VIRTUALMIN" != "" { INCLUDERC=/etc/webmin/virtual-server/procmail/$VIRTUALMIN } ORGMAIL=$HOME/Maildir/ DEFAULT=$HOME/Maildir/ DROPPRIVS=yes

Note that if you aren’t using Maildir in $HOME for storing emails, you would need to change or remove the ORGMAIL and DEFAULT lines.



I just showed the few lines that I thought mattered. Here is the file in its entirety:

DROPPRIVS=yes :0fw | /usr/bin/spamassassin :0 * ^X-Spam-Status: Yes $DEFAULT LOGFILE=/var/log/procmail.log TRAP=/etc/webmin/virtual-server/ :0wi VIRTUALMIN=|/etc/webmin/virtual-server/ $LOGNAME EXITCODE=$? :0 * ?/usr/bin/test "$EXITCODE" = "73" /dev/null EXITCODE=0 :0 * ?/usr/bin/test "$VIRTUALMIN" != "" { INCLUDERC=/etc/webmin/virtual-server/procmail/$VIRTUALMIN } DEFAULT=$HOME/Maildir/ ORGMAIL=$HOME/Maildir/ DROPPRIVS=yes :0 $DEFAULT

Aha! Then you’d actually simply want to comment out the lines you showed originally, and keep the rest of your procmailrc :slight_smile:

That is, comment out these lines, they shouldn’t be in there:

DROPPRIVS=yes :0fw | /usr/bin/spamassassin :0 * ^X-Spam-Status: Yes $DEFAULT