Welcome!

to the SPAM-ME-AND-DIE!
homepage....

In order to use these techniques, you MUST have a shell account (at Lava.Net), so that you can Telnet into our server. This is required because you need to create a special file in your home directory named ".procmailrc" which will be run every time you receive a piece of email, and will tell our mailsystem what you want done with it based on who sent it, which other servers it has passed through, etc.

You should also do a little background reading so that you know what you're getting yourself into. the following "Man" commands should prove useful:

     man procmail
     man procmailrc
     man procmailex
Before we proceed, you should be aware that, if you impliment this, any email that you receive from certain places on the Internet will just disappear into the Black Hole that is /dev/null. Forever. Irretrievably.

Gone.

Are you excited yet? You should ALSO be aware that because this software is offered without warranty of any kind, and is unofficial (not officially 'Blessed' by Lava.Net), the possibility exists that some mail that you might want to receive may also be trashed. Such is life.

The fastest way to get started is to telnet in to shell.lava.net, and in your home directory, type in the following command:

     ~mjwise/SPAM-shield/gimme-procmail
This will check your home directory for a file called ".procmailrc", and ONLY if it does NOT exist, will create it, and fill it with INCLUDERC references to two files in my SPAM-shield directory:
  1. devnull
    This set causes everything that matches certain "magic" criteria to just disappear. It is the most powerful of the filters, and the most carefully maintained. Rest assured that anything this trashes deserved it.

  2. trash
    This set is for "suspicious" emails that appear to be SPAM, but may not be, and so should be treated a bit differently, just in case.

In addition, when you are conducting testing, it's best to "play it safe" by making a backup copy of everything you receive, just incase an errant typo starts wiping out everything you receive (it could happen). First, create a "backup" directory in your mail directory as follows:

  1. cd ~/mail
  2. mkdir .backup
  3. cd

Then, add the following lines into the start of your .procmailrc file:

     :0 c
        mail/.backup

     :0 ic
        | cd .backup && rm -f dummy `ls -t msg.* | sed -e 1,32d`

Keep a close eye on what shows up there, as it could still consume your Disk Space quota if someone mailbombs you...


'White' Lists

Suppose that you have ONE friend who works at CyberPromo (and for some very good reason they cannot change jobs), and while you want all of the other junk to get deep-sixed, THIS person (user name 'myfriend') you want to give instant access to your INBOX all the time. The following recipe will give you what you want:
     :0
     * ^To:.*myfriend\@cyberpromo\.com
       $DEFAULT


Mailing Lists

This can be a problem, or an opportunity. Again, assuming that you are using PINE on an almost-daily basis, you can substitute "mylist-l" with the name of your favourite list (duplicate as needed):

  
     :0
     * ^To:.*mylist-l
       mail/IN.mylist

This will sort any incoming mail for your various mailing lists into separate folders. It's important to do this first, and ESPECIALLY before the "NotMe" test, which would otherwise make short work of these messages.


the "NotMe" test...

There is one section of the .procmailrc file that is commented out ("#") by default, and that is called the "NotMe" test. The reason that this is done is because many people are members of different mailinglists, and if they use this technique without setting up ... all their mailinglist traffic will never seem to arrive.

However, if you list all your mailing lists as above, the following little trick will trap a great deal that the other tests may not. You must replace the reference to "joebogus" with your username:

     :0
     *! ^TO.*joebogus
       mail/IN.spam

If you are known as both "joebogus" and "another", then the following modification will work:

     :0
     *! ^TO.*(joebogus|another)
       mail/IN.spam

IMPORTANT: what this does is, whenever someone sends a piece of email that doesn't seem to reference you directly, it gets diverted from your main mailbox and sent to another "alternate" INbox, in this case called "IN.spam". You should periodically use PINE to check this box and make sure that nothing overly interesting has "fallen in" by accident.


MailBomb-Proofing

If "nobody" sends you any of those obese graphics, excel(tm) spreadsheets, program files, or other such things, you can limit the amount of damage that a malicious (or terminally-klueless) user can do to your mailbox by redirecting any REALLY LARGE files (in this example, over 100,000 bytes in size) to a side-folder for "later viewing":
     :0
     * > 100000
       mail/IN.huge

Or, you might want to take a two-level approach as follows:

     :0
     * > 1000000
       /dev/null

     :0
     * > 100000
       mail/IN.huge

In this case, anything over 1 million characters is just discarded, but anything below that, but above 100,000 characters is put aside for later. Anything below 100,000 will be dealt with normally.


Aloha mai michael j wise !