[Mailman-Developers] MM3: Content filter rules

Barry Warsaw barry at list.org
Mon Mar 2 21:40:02 CET 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

With David's permission, I quote his message

On Mar 2, 2009, at 1:50 PM, David Champion wrote:

> This is a crazy idea I haven't really thought through, and completely
> tangent to what you're asking, but what about implementing a Milter
> interface (the MTA component, not the filter component) in Mailman
> and adopting its semantics?
>
> Then Mailman could take advantage of an existing framework with many
> instances in the field already, while limiting the use of those  
> filters
> to Mailman (not the whole MTA) and being completely independent of
> whichever MTA you're indeed using.
>
> The pymilter project makes writing Milter filters in Python rather  
> easy,
> so that Mailman-specific milters can be contributed and distributed  
> with
> Mailman.  http://www.bmsi.com/python/milter.html

This occurred to me too, so let's explore it.

MM3 has a lot of plugin points, and content filtering could definitely  
be one as well.  For example, I could imagine a filter such as "leave  
nothing but the first text/plain", "strip out all word documents",  
etc. implemented as Python modules.  Some would come with stock MM3,  
others could be added by the site administrator.  In fact, I think the  
current mime_delete.py handler could be implemented as a plugin  
(though I'm not sure you'd want to ;).

The advantage of a plugin architecture here is that I think it is  
simpler to implement, understand, explain, and skin.  The disadvantage  
is that the individual plugins would be less flexible, and you'd need  
a site administrator to add third party plugins.

I'm not sure that the milter API is quite appropriate for Mailman,  
which has a much different architecture than an MTA.  For example, it  
doesn't make sense for Mailman to expose SMTP callbacks since that  
will have happened long before Mailman gets its paws on the message.   
But something /like/ this could make a lot of sense.

Barry

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)

iEYEARECAAYFAkmsRCIACgkQ2YZpQepbvXG2ZwCeLhv5WOiuS2iwrxznGqOmZsYj
Al8An3GjQVGTBDN2sIJhjwOKuBZslw5b
=0tfj
-----END PGP SIGNATURE-----


More information about the Mailman-Developers mailing list