Spam Control at CCRMA

From CCRMA Wiki
Revision as of 11:32, 15 October 2007 by Carrlane (Talk | contribs) (Example .procmailrc file)

Jump to: navigation, search

Welcome to CCRMA's Spam fighter homepage.

Having a 'Spam Free' inbox is a requires vigilence on everyone's part. In the text below, we'll describe what you can do to minimize your Spam.

First you need to determine which email client you will be using (e.g. Evolution, Thunderbird, WebMail, or Pine). Spam fighting is much more difficult if you use more than one email client. The descriptions below are for exclusive use of only one client. These solutions also assume that you will not be using client side 'intelligent email filtering' (where the your email client 'learns' about Junk mail).

Filtering is done through a program called procmail.

.procmailrc File

This file is key in your Spam control effort. It is a hidden or 'dot' file, that you should create (for newer accounts it will have been created for you) in your home directory with the following contents, at a minimum:

# directory where mailboxes are located
# this is the default used by pine
MAILDIR=$HOME

# pipe the message through spamassassin in cm-home
:0fw
| spamc -d 171.64.197.138

.procmailrc gives Sendmail [1] instructions on where to route your email once it arrives at CCRMA. The idea is to make Sendmail route email through SpamAssassin [2] before it gets to your Inbox.

SpamAssassin will run each email through its filter (filter rules are updated frequently to reflect new spam 'threats'). SpamAssassin adds several lines to your email header's. When viewing your email in your email client, you normally only see an abbreviated header which shows the 'From:', 'To:', 'Date:' and 'Subject:' lines, but you can select elect to see the full headers as well. The lines added by SpamAssassin to your (normally hidden) email header include:

X-Spam-Level:
X-Spam-Checker-Version:
X-Spam-Status:
X-Spam-Report:

For now, let's look at X-Spam-Level since it is on this line, that you will create filter's in your email client. If you take a look at the header you'll see one line that looks like this:

X-Spam-Level: *****

X-Spam-Level display's Spam Level using the asterisk. Here, or example, for 'Spam Level 5' with 5 asterisks.

The idea then, is to establish email filter's, filtering on the asterisk, in your email client which, directing these messages into more manageable folder's or to delete the message automatically (wise for Spam Level 5 or above, where the risk of false positives is very low).

For new accounts we now add this to your .procmailrc file which automatically deletes email messages with an X-Spam-Level greater than 5:

# score >= 5 is considered spam
:0:
* ^X-Spam-Level: \*\*\*\*\*
/dev/null

A good idea is to filter any messages with Spam Level between 3-5 to an email folder so you can check it periodically. That, too, can be done with .procmailrc by adding this:

# divert emails tagged with 3 or more stars to a directory
:0:
* ^X-Spam-Level: \*\*\*
mail/spam3

Since any email with a rating of >=5 asterisks has been deleted, then any message with 3 or 4 asterisks will be routed to a directory called ~/mail/spam3 in your home directory. This directory should also be viewable by your email client so you can check it periodically.

Forwarding with Spam Control

If you would like to forward your email you should add the following lines to the end of your ~/.procmailrc file.

Forward Without Keeping a Local CCRMA Copy

# Forward mail from CCRMA to this account
# Place after spamassassin and email filtering
:0
! <your-other-username>@<your-other-mail.com>

Forward Keeping a Local CCRMA Copy

# Forward mail from CCRMA to this account, keep a copy
# Place after spamassassin and email filtering
:0 c
! <your-other-username>@<your-other-mail.com>

Example .procmailrc file

So here is how the file should look in the end for a solid beginning to your spam filtering:

# directory where mailboxes are located
# this is the default used by pine
MAILDIR=$HOME

# pipe the message through spamassassin in cm-home
:0fw
| spamc -d 171.64.197.138

# score >= 5 is considered spam
:0:
* ^X-Spam-Level: \*\*\*\*\*
/dev/null

# divert emails tagged with 3 or more stars to a directory
:0:
* ^X-Spam-Level: \*\*\*
mail/spam3

# Forward mail from CCRMA to this account
# Place after spamassassin and email filtering
:0
! <your-other-username>@gmail.com