[elspy] usual questions about suitability

Greg Ward gward at python.net
Sun Aug 22 00:56:25 CEST 2004

On 18 August 2004, Eric S. Johansson said:
> the ability to rewrite recipients both in terms of number of and modify 
> their e-mail addresses[1].  This also includes the ability to declare a 
> message as having vanished from the MTA's awareness (in other words, 
> it's been consumed by the anti-spam filter).

As Andrew pointed out, you can do this in local_scan(), including an
elspy local_scan().  (I think the only functionality I didn't implement
was the ability to change headers.  Or maybe to remove them.  Don't
remember, it's been a while, and my attitude has been, "I'll implement
that when I need it".  So far I haven't needed it.)

Removing all recipients instructs Exim to blackhole the message, which I
think is what you want.  (Although, like Andrew, I would counsel against
blackholing messages in all but dire circumstances.  Oh, wait,
delivering email these days is a dire circumstance.  Sigh.)

> the ability to limit the number of filter instances running at any one 
> time.  There are many things that camram does that works relatively well 
> in a multitasking environment but there are a few things that just 
> consume every ounce of CPU you have and then some for a few moments. 
> Those operations really want to be single threaded.

You can't do that with elspy (or with any Exim local_scan()), because
you have no way of knowing how many exim processes are running at a
time.  I agree with Andrew here: you probably need a separate daemon
process, not something running in the MTA's process-space.  SpamAssassin
does the same thing (spamd/spamc), probably for much the same reasons.

> the ability to distinguish which interface the traffic comes from or the 
> ability to bind filter to interface.

Err, not sure, but probably.  Check Exim's fine manual -- the chapter on
local_scan() in particular.  Note that elspy doesn't necessarily expose
all the global variables in Exim 4.4, since I wrote it for Exim 4.1 or
4.2 and haven't updated the list of variables since then.  (Again, I'll
do it when I need it, but haven't needed it yet.  Patches welcome.)

> I have a concern about the life/support/viability of the filter 
> interface because it's really painful putting in a lot of work to use a 
> filter interface only to have the filter interface become unsupported 
> for goodness knows what reason.  I've acquired this little bit of scar 
> tissue one time too many.  ;-)

It's hard to comment on the future of elspy.  It doesn't seem to have
taken the world by storm, judging by the traffic on this list.  Maybe I
just wrote such amazingly good docs that nobody needs to ask questions.
Doubt it.  

> since there are two python interfaces to exim, it would be nice to know 
> if either one of them was "officially" supported by the exim community.

Don't think so.  I still can't understand why everyone doesn't use Exim
for an MTA and want to filter their mail with Python, but that's just
me.  ;-)

Greg Ward <gward at python.net>                         http://www.gerg.ca/

More information about the elspy-users mailing list