SpamAssassin is a powerful tool to help solve the Spam Problem. The Makers of SpamAssassin explain how their product works:

(SpamAssassin) Us(es) its rule base, (and) a wide range of heuristic tests on mail headers and body text to identify "spam", also known as unsolicited commercial email. -

The flexibility of SpamAssassin combines with its excellent design to make it an easy way to help you take control of your E-mail accounts and stop spam from wasting your time and resources.

Installation and Configuration

We have created an easy-to-use installation and configuration tool to help you get SpamAssassin running and configured on your Virtual Private Server. To install or configure SpamAssassin, SSH or Telnet to your Virtual Private Server and run the following command.

% vinstall spamassassin

SpamAssassin applies a number of tests to an incoming message, and each test returns a score. If enough tests return a combined score that is high enough (the default is 5), SpamAssassin can tag the message as being spam. Once a message has been tagged, there are a number of possible actions that can be taken with the message. Both tagging and actions can be handled either as a system-wide or as a user specific filter.

  • System-wide Filters - This applies SpamAssassin tests to every E-mail message that arrives on your Virtual Private Server, regardless of the intended recipient. While scanning every incoming message for spam characteristics is a good idea, you may want to have the system settings simply tag messages and deliver them normally. This avoids accidentally losing the occasional legitimate message that has spam-like characteristics.

  • User Specific Filters - For individual users, different methods of dealing with spam may be preferred. The user specific settings allow you to set up specific users with different ways of dealing with messages tagged as spam.

Once a message has been tagged, SpamAssassin will do one of the following with the message, depending on your system and user settings.

  • Deliver Tagged messages along with Untagged messages normally. This allows the user to easily see if a message is tagged as spam, but allows them to make the final decision to read the message or not. If you have system-wide filtering on, it is a good idea to use this option for the system-level filtering.

  • Deliver Spam to a special mailbox. Untagged messages will be delivered as usual, but tagged messages will be delivered to a special mailbox (or IMAP folder). This is a good user level setting for IMAP users who don't want potential spam cluttering their INBOX, but want to have the option to check through to see if there's anything important among the tagged messages.

  • Deliver spam to a special mailbox and forward non-spam to another address. If a user has another account that they forward their messages to, this allows you to filter out spam before forwarding the messages to their account

  • Forward Spam to another address. By doing this, non-spam is delivered normally, but spam can be forwarded to an account on a different server.

  • Delete Spam. This is not a recommended option, since some spam may in fact be legitimate. However, you can select to have all messages tagged as spam deleted, either on a system level, or just for specific users.

  • Delete Spam and forward non-spam to another address. Again, this is not recommended, but you can have all the tagged messages deleted before forwarding un-tagged messages to a remote E-mail account.

SpamAssassin can be configured to keep a log of its activity. Logs can be useful in tracking down problems and errors, but like any other log file, your SpamAssassin logs will need to be cleared out occasionally to prevent them from using up all your disk space. You can use cron to archive or empty your spam log files.

The vinstall module for SpamAssassin only configures the most basic settings required to get SpamAssassin working on your Virtual Private Server. SpamAssassin has a number of additional configuration options which can be set by editing specific configuration files. For more information on additional configuration options, see the documentation.

Removing SpamAssassin

If you want to remove SpamAssassin filters, either for the full system or for specific users, you can use the following command.

% vuninstall spamassassin

After running the command, you will be given the option to delete system filters (but keep user filters), delete a specific user's filters, or to remove all SpamAssassin filters and the SpamAssassin program files from your Virtual Private Server


There are a number of sources of documentation for SpamAssassin. You can access the man pages using the following commands.

% man spamassassin
% man Mail::SpamAssassin::Conf

There is also a wealth of information about configuring and using SpamAssassin at the SpamAssassin Web site.

Please note: the information on this page applies to ITS web hosting plans. It may or may not apply to other environments. If you are looking for a feature described here, or better support from your hosting provider, please consider hosting your site with ITS!

1555 N Naperville/Wheaton Road, Suite 107
Naperville, IL 60563
phone 630.420.2550
fax 630.420.2771