Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: converted to 1.6 markup

Edited instructions given in Sourceforge list for pop3proxy

I got the files, and followed the instructions and works. Will report what happens with SA 3.x

Other information

  • It has been reported that Active State Perl version 5.8.4 goes ok with SaProxy
  • It has been reported that Net::DNS library version 0.48 goes ok with SaProxy
  • It has been reported that Pop3Proxy goes ok with SA 2.64

Note: I am not having any problem of DNS and/or memory leaks with the installation of SaProxy as here described.

How To (version 0.1b) for Pop3proxy (raw "SAProxy") Hand Installation

2003-10-29 00:43

This allows to work with SpamAssassin 2.60.

As seems that new saproxy is not popping-up (yet?) in the CVS ....

Those are my conclusions for doing it with Perl 5.8 , under Windows XP Pro. DO NOT KNOW HOW IT WILL GO IN OTHER WINDOWS

My process is not perfect but works nicely.

You do not need to be able to program, but you need to understand how a program is installed, using the command line, and .... almost nothing more. Don´t know why it is made so difficult and not clearly explained how to do it when it is really not so difficult.

You will probably also need to have administrator privileges.

Not having memory leaks as the SaProxy 1.2 had ...

SpamAssassin Installation

Install SpamAssassin (best method, follow (select SA2.60)(thanks Michael) (to be tested with 3.x)

My approach has been to install SpamAssassin 2.60, and those are my comments respecting that:

  • For me Perl 5.8 has gone ok (although I have lost a small functionallity in pop3proxy (opening the local manual from the icon ....) Install it to C:\Perl, otherwise there (might be) are problems ahead.
  • In Michael Part iii, ppm´ed directly to CPAN, i.e. no local:

Win32::Registry(1.10), Net-DNS (0.40), DB_File (1.806) and Time::HiRes (1.49)

(Please note that some people had experimented hangs with Net-DNS .40)

(more info on ppm in )

  • In Michael Part Viii, have not needed step 2, in my setup the dns server was properly handled by Win32::Registry
  • In Michael Part Viii, step 3, note that under perl 5.8 will be in C:\Perl\site\etc\mail\spamassassin\ while the rest of cf files will be in C:\Perl\site\share\spamassassin\
  • In Michael Part Viii, step 5, check that DNS is working, as well that new files are written to ... \ user folder \.spamassassin (watch out, the "point" is essential!)

Temporal installation of SaProxy

Install, temporally, SaProxy 1.21 This will generate some files
in ... \ user folder \spamassassin (watch out, this time without the

Test your installation of SAPRoxy 1.21. Set your preferences.
Make it work with your mail provider and with your email client.

Pop3proxy Installation

(you could use Dan McDonald father of pop3proxy page as reference; but, it is a little outdated!)( recent and precise although somehow more obscure is the info contained in from which this is derived. You can see it with a text editor, or you can make in a DOS window (open where you have ("pop2text > pop3proxy.txt" or "pod2html --output pop3proxy.html")(where to get ... see later)


A) Get pop3proxy package (unfortunately, sorry, developpers have not provided a zip for it ... you have to do it manually)

  • download (be carefull as how you dload it, we do not wish html code here ...) as you are there, you might like to download (not really needed), and any other files you wiss to poke.
  • In any case, download anything under lib (including UI and resource) keeping directory structure
  • Save all in your pop3proxy directory (keeping lib\UI and lib\resource structure!)

(smile) Complete and adapt the pop3 package.

  • Copy to the temporary directory the following subdirectories from SAProxy: defaults, manual, resource, rules
  • Copy to the rules subdirectory the contens of the following: C:\Perl\site\etc\mail\spamassassin\ and C:\Perl\site\share\spamassassin\ (answer always yes ... that is, replace the ones in the rules subdirectory of SAProxy for the same named in the spamassassin ones ...) Note that we have the needed files already in ...\user folder\spamassassin (from the temporary installation of SAProxy)

C) Create a shortcut to pop3proxy with properties such as C:\Perl\bin\perl.exe "...\pop3proxy\" you have the SAProxy .ico in resources (when you finish testing, change perl.exe by wperl.exe !!! this will remove the dos box)

D)Test it, until satisfied.

E) Pop3proxy without GUI is already installed!!! (pop3proxy will work without GUI!!! Then you would have to edit your configuration as per your wishes manually _they are on ...\user folder\spamassassin or you can use SAProxy temporary to have a graphic interface _Never have pop3proxy and SAProxy running together!-... or better ... see other tools later) (One can delete at will from this step onwards the SAProxy subdirectory (the temporally installation, not the pop3proxy new directory!) ) but perhaps you should wait to finish the how to)

F) We have not applied the sa-2.55.patch I believe it is mainly to unify \.spamassassin and \spamassassin but I am unsure if it makes anything else.


Anyhow, in my testing I have not observed any malfunction. I live with both subdirectories.

GUI Installation

Now, if you would like the GUI, lets go! (pop3proxy will work without GUI!!!)

I) Prepare needed perl mods

  • go to the perl directory, type ppm then install Win32::GUI (o,.0.558 in my case) install Win32-API (0.41 in my case) install DBI (1.37 also)

II) Modify the lib\UI\ file in pop3proxy

  • as today, there is no Win32::Shell working under Perl5.8
  • we can continue with a workaround, but ... we will have lost the possibility of opening the manual.html file from the SAProxy icon try (that will show 1.21 SAProxy anyhow ...). We need change a piece of to stay as:

sub ::mnuTrayViewManual_Click {
# Note: system() doesn"t work on WinXP
# CBJ use Win32::Shell;
# CBJ Win32::Shell::Execute("open", "file:///" . cwd . "/manual/index.html",
# CBJ undef, undef, "SW_SHOWNORMAL");

that is, put a # in front of that 3 lines (I have put # CBJ) from sub through return ...

  • the only side-efect is that when pressing in the icon selecting for the manual nothing appears

III) Prepare and install the Loft GUI

  • Unzipp, and delete all but the PPM directory; don´t install, does not work in Perl 5.8! Retain only, in the same directory:
  • edit both ppd to remove *dependency* lines to Win32 GUI but not to Win32-GUI-AdHoc in the Loft.ppd
  • now, open a dos box, perl, then ppm, then install path_to_\Win32-GUI-AdHoc.ppd and then install path_to_\Win32-GUI-Loft.ppd

So, with the SAProxy GUI you can modify:

  • your settings (saved in \spamassassinconfig.txt then copied to in \pop3proxy\rules )
  • your languages (saved in \spamassassinconfig.txt then copied to in \pop3proxy\rules )
  • your rules (saved in \spamassassin\user_prefs file)
  • your host map (saved in \spamassassin\hostmap.txt file)
  • your advanced settings (saved in \spamassassinconfig.txt then copied to in \pop3proxy\rules )

(note that in config.txt appear also allow_auth network_tests andallow_top that I have not found yet where they go ... and also that in there is a use_bayes 1 that is not in config.txt ...)

You can also exit pop3proxy via the SAProxy GUI. You can also exit it:

  • running
  • closing the dos box / control-c it ; if you have run pop3proxy with perl and not wperl.
  • killing the process (you know, crtl-alt-sup etc)

Configuration Facilities

Just to end, some configuration facilities, just in case the GUI is not our first choice:

a) SAUP Tool from CleanMyMailBox You will need 1024x768 resolution screen

This lets you guidely modify your user_prefs file options, widely but not fully.

b) Michael´s SAConf

Seems quite interesting. I finally could install it.

According to its page, it needs SA 2.5x I have used it with 2.60 just to view the configuration files, but not to make changes

Things to clarigy/do

Things to clarify/do ....

  • what exactly does sa-2.55.patch from CVS
  • solving the Win32::Shell problem. According to a discussion in, perhaps it can be substituted by some functionallity in Wind32::FileOP or a use of system() (althought code warns that system() fails under XP, but perhaps that was for perl 5.6.1 ...
  • find a web/home for this how-to (DONE) and
  • the needed files that sourceforge has problems to distribute !!!

you know, all those personal opinions etc.