[Mailman-Users] Is it possible to filter what is archived?

Mark Sapiro msapiro at value.net
Fri Aug 3 06:10:48 CEST 2007

Mark Sapiro wrote:
>Make a custom handler (see
>that checks mlist.umbrella_list, and if true add an X-No-Archive:
>header to the message. E.g.
>def process(mlist, msg, msgdata):
>    if mlist.umbrella_list:
>        msg['X-No-Archive'] = 'Yes'
>The handler has to be in the pipeline prior to 'ToArchive'.

I should know better than to post code when I'm in a hurry, but ...

The above is a bit too simple. Something like

def process(mlist, msg, msgdata):
    if mlist.umbrella_list:
        del msg['x-no-archive']
        msg['X-No-Archive'] = 'Yes'

is probably better to avoid creating multiple X-No-Archive: headers.

Also, if you insert the handler prior to 'ToArchive', the message (any
message to an umbrella list) will not be archived at all. If you
insert the handler after 'ToArchive' but prior to 'ToOutgoing', the
message will be archived in the archive of the first umbrella list it
hits, but won't be archived in any subsequent lists which is probably
more like what you want.

Mark Sapiro <msapiro at value.net>       The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan

More information about the Mailman-Users mailing list