Scan incoming mail with Python

Embeds a Python interpreter into Exim 4.x. Each incoming message is run through a Python local_scan() function. A simple "hello world" type scan function might look like:

import exim

def local_scan():
    exim.log("Hello from Python")
    return exim.LOCAL_SCAN_ACCEPT

Even though the version below is named 4.41.0, it works fine with Exim versions going back to 4.14

As long as the Exim local_scan API stays stable and the build process doesn't change - it'll probably keep working for future versions too.

elspy is a nearly identical project by Greg Ward...oops. We e-mailed back and forth after discovering each other's work, and agreed that we had pretty much written the same thing and didn't need to compete. I've kept my version online because I use it all the time myself. Not sure where Greg's at since his page hasn't been updated since 2002




Only change is to fix a minor C compiler error. Tested with Python 2.5 and Exim 4.63, but should still work with newer/older Pythons and Exims.