|    | 
 
 CREDITS 
Jim Niemira
wrote the original C module and some quick
and dirty python to use it.  
Stuart D. Gathman
took that kludge and added threading and context objects to it, wrote a proper
OO wrapper (Milter.py) that handles attachments, did lots of testing, packaged
it with distutils, and generally transformed it from a quick hack to a
real, usable Python extension.
Other contributors (in random order):
-  Christian Hafner
  
 - for the pymilter mascot image of 
  
  Maxwell's daemon
 - Stephen Figgins
  
 - for reporting problems building with sendmail-8.12, and when
  building milter.so for the first time.
 - Dave MacQuigg 
  
 - for noticing that smfi_insheader wasn't supported, and creating
  a template to help first time pymilter users create their own milter.
 - Terence Way
  
 - for providing a Python port of SPF
 - Scott Kitterman
  
 - for doing lots of testing and debugging of SPF against draft standard,
  and for putting up a 
  web page that validates SPF records using spf.py
 - Alexander Kourakos
  
 - for plugging several memory leaks
 - George Graf at Vienna University of Economics and Business Administration
  
 - for handling None passed to setreply and chgheader.
 - Deron Meranda
  
 - for IPv6 patches
 - Jason Erikson
  
 - for handling NULL hostaddr in connect callback.
 - John Draper
  
 - for porting Python milter to OpenBSD, and starting to work on tutorials
  then pointing out that it would be easier to just write the MTA in Python.
 - Eric S. Johansson
  
 - for helpful design discussions while working on camram
 - Alex Savguira
  
 - for finding bugs with international headers and
  suggesting the scan_zip option.
 - Business Management Systems
  
 - for hosting the website, and providing paying clients who need milter
  service so I can work on it as part of my day job.
  
If I have left anybody out, send me a reminder: 
stuart@gathman.org
 |