PublicCheck::To
Check the To address against In-Reply-To. Also checks known public addresses, such as those used for mailing lists.
loadplugin PublicCheck::To
public_store_module StorageImpl /path/to/StorageImpl.pm
# 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.
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.
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.
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 (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.