Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: [Original edit by BretMiller]

...

  • 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 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)
      
  • 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. This must be on the same drive as your python installation.
  • 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 --homedir /python/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
    No Format
    if ($stdinfile) { $cmd .= " <'$stdinfile'"; }"
    
    and replace it with
    No Format
    if ($stdinfile) { $cmd .= " <\"$stdinfile\""; }"
    
    because Windows won't pipe a file with a space after the < and single quotes around it.
  • 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_options --homedir /python24/pyzortimeout 10
    
  • That should do it. If you do a spamassassin --lint -D you should see pyzor