[Mailman-Developers] Splitting -owner and -admin handling
Barry A. Warsaw
barry@digicool.com
Fri, 22 Jun 2001 12:59:46 -0400
Mail destined for the -owner and -admin addresses for a list are
handled differently because -admin mail flows through the bounce
detector, and only if that fails is it forwarded on to the list
owners. Mail for -owner goes directly to the list owners.
For historical reasons, Mailman conflates these two addresses by
having the same script (mailowner) deal with both. In MM2.0.5, I
parsed the incoming message to see if it was destined for -admin or
-owner, and I added an appropriate bit message metadata before queuing
the message.
In MM2.1, I don't parse the message in mailowner. This has the
advantage of reducing the amount of time the MTA program has to
consume, which I think is a good thing. The problem is that the
determination of -owner vs. -admin doesn't happen until the qrunner
processes the message. If I want to split bounce processing into a
separate queue, the best place to do this is as early as possible,
i.e. in the MTA program script.
There are two options:
1) Parse the message in mailowner, or at the very least, look for the
To: field to see if it was destined for -owner or -admin, and then
put the message in the proper queue. We can mitigate the parsing
costs by storing the message as a pickle instead of plain text, so
the qrunner slurping messages out of the queue doesn't need to
reparse it. Pros: backwards compatibility with existing alias
files. Cons: mailowner has to do more work, has a higher
opportunity for uncaught exceptions (exposed as MTA bounces), and
can be fooled by Bcc's.
2) Add a new script, maybe called `mailadmin' which gets associated
only with -admin messages. The mailowner script would thus only
accept messages for -owner. Pros: keeps things simple, and splits
bounce processing into a separate queue early on, with minimal
chance of problems. Cons: breaks backwards compatibility with
existing alias files, since they'd have to be changed to point the
-admin addresses at mailadmin instead of what they currently point
to (mailowner). Mitigate this with the auto-alias-file
regeneration scripts already in Mailman (i.e. bin/genaliases).
Thoughts? Preferences? Other suggestions?
-Barry