Splitting -owner and -admin handling
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:
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.
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
On Fri, 22 Jun 2001 12:59:46 -0400 Barry A Warsaw <barry@digicool.com> wrote:
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.
Why not split those functions?
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:
And a third:
- Remove bounce processing from -admin and move it to its own -bounce address.
I prefer this approach. The insertion of a management point (via the new address) adds all sorts of new capabilities (eg process deferment, dedicated bounce processor nodes, customised bounce processing (eg integration with other external systems such as CRM or billing), etc etc. The pain is that extant installations would have to add the new alias/MTA config as part of their upgrade.
That's an acceptable upgrade cost.
-- J C Lawrence claw@kanga.nu ---------(*) http://www.kanga.nu/~claw/ The pressure to survive and rhetoric may make strange bedfellows
On Fri, Jun 22, 2001 at 01:41:32PM -0700, claw@kanga.nu wrote:
And a third:
- Remove bounce processing from -admin and move it to its own -bounce address.
I prefer this approach. The insertion of a management point (via the new address) adds all sorts of new capabilities (eg process deferment, dedicated bounce processor nodes, customised bounce processing (eg integration with other external systems such as CRM or billing), etc etc. The pain is that extant installations would have to add the new alias/MTA config as part of their upgrade.
That's an acceptable upgrade cost.
No.... Currently, the Sender and Return-Path headers (or the 'From ' header, if you wish) get set to list-admin, not list-bounce. Changing it to list-bounce will screw up every one of my mailman-list-filters, and I'm not the only one doing that ;P
-- Thomas Wouters <thomas@xs4all.net>
Hi! I'm a .signature virus! copy me into your .signature file to help me spread!
participants (3)
-
barry@digicool.com
-
claw@kanga.nu
-
Thomas Wouters