Special announcement:
Perl Mail Proxy is no longer in development. I have solved my needs with
Fetchmail, Procmail, Anomy Sanitizer, Postfix, and QPopper. If you want details
or want to take over this project, feel free to email me. Until further notice,
this project will not continue development. I leave the page intact below in
case anyone is interested.
Perl Mail Proxy
by Richard Garand (richard at garandnet dot net)
[ Introduction | About | Features | Download | Documentation | Credits ]
Introduction
Perl Mail Proxy was created because I needed to protect users from email
virii. I decided I could also add some spam filtering capabilities too. The
proxy will run on any computer with Perl, and relay SMTP, IMAP, and POP
commands, filtering incoming and outgoing mail according to rules defined in the
configuration file. It's designed to handle many users, with the ability to
forward to different servers based on the username (for pop3 authentication) and
set up multiple virtual proxy servers on different ports.
About
Perl Mail Proxy is made for three things: handling multiple users, filtering
mail and executing actions on it, and ease of use. The configuration file system
should make it easy to set up a basic proxying service rapidly, and I hope to
include several predefined configuration files that can be used as a base. Perl
Mail Proxy is distributed under the GPL, and can be freely
modified and redistributed by anyone as long as the source is included (sort of
hard to get around :)
Features
Perl Mail Proxy features:
-Flexible configuration file
-Define individual users for a certain protocol and set them to be forwarded to
defined server
-Define blocks of users for the same protocol/server to reduce file size
-Define user groups to use one name for many users
-Define filters that decide if a message should be edited, quarantined, or
deleted
-Set custom message to replace quarantined emails, alerting the reciever and
telling them how to get to the original message
-Define filter stacks of internal filters and external programs for messages to
pass through that are selectively applied based on user and protocol
-Decide which server to forward to based on username, ip address, protocol or
vproxy (see next feature)
-Set up multiple proxies on different ports to help choose which server to
forward to
-Proxy is transparent - after configuring the client, email works exactly like
it did with no proxying
-And finally, use a powerful multi-user proxy to add security and remove
unwanted messages :)
I started this project for personal use and put it up here to share with
everyone, but if you have a feature request post it on the Sourceforge feature requests page and I may implement it. Of
course, if you submit a patch which has no major flaws and
doesn't go against or away from the goals of the project, I will add it to the
CVS repository and you will be credited appropriately.
Downloads
Requirements:
Perl Mail Proxy requires Perl with the IO::Socket
modules.
Download links
Download sites:
Documentations
There is no documentation yet, but someday when I actually release something
i'll probably take all my notes in the configuration and other thoughts and put
them up here in some useful form.
Credits
Perl Mail Proxy is written by me, Richard Garand. You can contact me at richard at garandnet dot net. Since I started this with little knowledge of perl
networking functions, I used a perl webserver created by Scott Wunsch
as an example.