Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

A customizable e-mail content filter.

Project Description

EMailFilter is a customizable e-mail content filter written in Python. It consists of the following Python modules and shell scripts:

  • EMAILFILTER.PY: the core filter logic; it allows you to add as many Python filtering modules as you want, and will give each filtering module a chance to examine each e-mail message and (possibly) add ‘X-‘ headers to record its findings.
  • EMAILFILTERD.PY: the preferred mode of operation for EMailFilter; it wraps EMAILFILTER.PY in a daemon that listens on a user-specific port (currently the port number is 5590 + the user id) and processes each e-mail message sent to it through that port.
  • EMAILFILTERC.PY: a command-line client program that takes its standard input, sends it through a socket to the daemon on the appropriate port, receives the processed data back, and writes it to standard output. This is not the preferred method of talking to the daemon; see the emailfilterc shell script below.
  • EMAILFILTERDEFS.PY: common definitions for all the above modules.
  • EMAILFILTERD: a shell script to invoke the daemon.
  • EMAILFILTERC: a shell script to invoke the client; it can use emailfilterc.py above if necessary, but this is slow because it requires a new instance of the Python interpreter to be loaded for each e-mail message (the message comes in on standard input and the processed message is written to standard output). The preferred method is to use either the CFilter program (available on SourceForge, see http://cfilter.sourceforge.net) as the client (this is done by invoking this script with the -c option) or the “TCP/IP swiss army knife” netcat program (this is done by invoking the script with either the -n option, if netcat goes by the command name nc, or the -t option if it goes by the command name netcat – which name it will be depends on which specific flavor of Unix/Linux you are running).

Most e-mail clients can be set up to invoke any desired filter program, sending it messages on standard input and receiving processed messages on standard output; thus, to use EMailFilter, simply tell your e-mail client to invoke emailfilterc -c as the filter program (you can leave out the -c, but as above, filtering will be significantly slower).

Installation

To install EMailFilter, you can simply run:

$ python setup.py install

at a shell prompt from the directory into which you unzipped the source tarball (the same directory that this README file is in). This will install EMailFilter, and then run each of the post-install scripts in the scripts directory.

EMailFilter requires the PLIB Python library package, which is available from the Python Package Index under the name plib. However, the helper module used by EMailFilter’s setup script, SetupHelper, can automatically detect if you don’t have PLIB installed, and if so, it will download and install it for you before installing EMailFilter.

Release History

Release History

This version
History Node

0.6

History Node

0.5

History Node

0.4

History Node

0.3

History Node

0.2.1

History Node

0.2

History Node

0.1

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
emailfilter-0.6.tar.gz (29.4 kB) Copy SHA256 Checksum SHA256 Source Dec 14, 2009

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting