pop_filter Processes POP3 email server-side
Spam is a problem for nearly everyone, some worse than others.
When my domain was used by spammers to masquerade their
rubbish, I began to receive hundreds of responses to their
spam - nearly all of which were simple 'address not known'
errors. To enable me to use my email account again, I wrote
this program. It processes email server-side, so the rubbish
is deleted without ever coming near your computer - no chance
of viruses, and no wasted downloading and deleting time.
There are more complex programs around to deal with email, but
I pop_filter does a very simple job: based only upon email
headers and two lists of text patterns, pop_filter keeps or
deletes your email on the server. I find that this clears out
90-100% of my spam without any interaction from me.
The two lists are pop_keep and pop_delete. If a message's
headers match a pop_keep pattern then it is kept. Otherwise if
the message's headers match a pop_delete pattern then it is
deleted. Otherwise the message is kept in AUTO mode, or the
user is prompted for a decision in DEFAULT mode. This is all
very fast and once you have reasonable pop_keep and pop_delete
lists then you should find that your spam problem is hugely
reduced.
Once again, this is a Perl program so you'll need Perl (free
from
ActiveState for Windows and probably already on your favourite Unix).
The pop_filter script is
here. Unzip it to disk and run it - it will prompt you for
your server details and offer to remember these by saving them
to a local file. Obviously there is a degree of insecurity
there, so it's up to you. By default you'll be in a mode where
you're asked what to do with unmatched messages. Typing h at
the prompt gives you the full range of commands available -
this is loosely modelled on the Unix 'mail' command interface.
This help message is reproduced below.
pop_filter.pl by allan. Version 28/02/2005
Commands:
n : keep this msg
y : delete this msg
k (a|n|n-m) : keep this message/all msgs/msg n/msgs n to m
d (a|n|n-m) : delete this message/all msgs/msg n/msgs n to m
m (n|n-m) : apply keep & delete lists to all messages/msg n/msgs n to m
!regexp : add regexp to the pop_keep list
/regexp : add regexp to the pop_delete list
q(!) : quit deleting marked msgs (! - do not delete)
Modes:
a : move to auto mode, keep all not in pop_delete list
i : move to interactive mode, prompt for all messages
u : move to default mode, prompt only for unmatched messages
Info:
t (n): print full headers of this msg/msg n
p (n) : print all of this msg/msg n
l (n|n-m) : list msg headers for all msgs/msg n/msgs n to m
s : print current status
h : print this help
If there is interest in this program I'll add more here, but
for the meantime it's being doing the job for me for about a
year and you may use it in any way you see fit - I simply ask
that you credit me where due, and contact me if you are going
to review or comment publicly on the program.
|