...
- Download and install ActivePython from www.activestate.com.
- Download and install Pyzor from http://pyzor.sourceforge.net/. You'll need something that can un-bzip2 the files. Installing simply means running the following from the folder you extracted pyzor into:
No Format python setup.py build python setup.py install
- Create a folder somewhere for the pyzor config files. You can use your spamassassin folder if you like as it only creates a single file called servers. I used c:/python24/etc/pyzor
- Create a pyzor.bat in your python folder (c:\python24 by default when I installed it), containing the following line, modified for your python folder path.
No Format @c:\python24\python c:/python24/scripts/pyzor --homedir c:/python24/etc/pyzor %1 %2 %3 %4 %5 %6 %7 %8 %9
- Edit /Lib/site-packages/pyzor/client.py with the following changes:
- Find signal.signal(signal.SIGALRM, handle_timeout) and put a # in front of it.
- Find the section for: def time_call(self, call, varargs=(), kwargs=None): and change it to read like this:
No Format def time_call(self, call, varargs=(), kwargs=None): if kwargs is None: kwargs = {} return apply(call, varargs, kwargs)
- From a command prompt in the python folder context, run the following where /python/pyzor is the folder you created in the previous step.
No Format pyzor discover
- Now you are ready to configure SpamAssassin to use it.
- Edit your /site/lib/mail/spamassassin/Util.pm. Find the "sub helper_app_pipe_open_windows" section and the line that reads
and replace it withNo Format if ($stdinfile) { $cmd .= " <'$stdinfile'"; }"
because Windows won't pipe a file with a space after the < and single quotes around it.No Format if ($stdinfile) { $cmd .= " <\"$stdinfile\""; }"
- Edit v310.pre and uncomment the load for the Pyzor plugin.
- Edit your local.cf and add configuration lines for pyzor. For example:
No Format use_pyzor 1 pyzor_path c:\python24\pyzor.bat pyzor_timeout 10
- That should do it. If you do a spamassassin --lint -D you should see pyzor