NAME

        PublicCheck::To

Check the To address against In-Reply-To. Also checks known public addresses, such as those used for mailing lists.


SYNOPSIS


  loadplugin    PublicCheck::To
  public_store_module StorageImpl /path/to/StorageImpl.pm


TESTS

public_check_to_address
Tests to see if the To: or Cc: line contains an address we've publicly used.
  # Let it know that these addresses are potential spam.
  public_address info@example.com
  public_address nospam@example.com
  head PUBLIC_ADDRESS eval:public_check_to_address()
  score PUBLIC_ADDRESS 2
  describe PUBLIC_ADDRESS It was sent to a public email address.

public_check_references
Test to see if it has an In-Reply-To header matchine a message ID we've used before.

You typically want to give this a negative score, as it indicates someone replied.

  head REFERENCE_MINE eval:public_check_references('[strict]')
  score REFERENCE_MINE -5
  describe REFERENCE_MINE Contains known In-Reply-To field.

If 'strict' is given as an argument the underlying storage module will need to verify the message ID was sent from that email address.


STORAGE

It needs a storage implementation of some sort in order to check references, this is a perl package that subclasses PublicCheck::MidStore package. The critical method is:

    exists($plugin,$pmstatus,$message_id,[$email])

Where $email is only used when the level is 'strict'

The public_check_to_address does NOT need any storage, but you need to set public_address (perhaps multiple times) to addresses you've used in public.


BUILDING DATABASE

Good luck! :-)

This is a serious downside of this system, in order to be effective, something has to track each generated message ID.

One approach is a site-wide SMTP out-bound filter, but that is a local issue and isn't dealt with here.


COPYWRIGHT

Copywright (C) 2005 Jamie Hoglund.

You're free to use it, same as SpamAssassin.

I'm always available for custom programming, see http://www.geniegate.com/ for contact information.