Hello all,
We've recently taken on mailman to handle many large, popular lists at my day job, and one strangely-missing feature is the inability to avoid duplicates when someone cc's a list's old alias and new alias (we also moved the lists to a subdomain, out from under our primary).
It's suggested in the FAQs that this could be done using procmail -- but I'd think it (could/should) be done in mailman itself.
The list-id header is ideal for this, and it SEEMS to be not more than a dozen lines of code to do the same sort of per-list "lockfile" that the procmail recipe does (plus add a variable to make it tunable in either the config file, or the web-ui). Presumably lockfiles could expire after 7 days. Locks could also be an entry in a .pck database.
The question is (and the reason I ask this on a developer list rather than -users) -- is there anyone here who could provide a patch to add this functionality, or who is interested in taking on such a task for some sort of compensation/donation?
Please contact me off (or on) list if anyone's available.
Another great feature would be to have mailman "strip" multiple cc recipients. I.e. if a message is sent:
to: list cc: list-alias(*), another-list-alias(*)
-or-
to: person cc: list, list-alias(*)
To have these (*) stripped (and prevent the need for this). But that's more work, and right now the duplicates are a major regression from what we had before.
-Dan
--
--------Dan Mahoney-------- Techie, Sysadmin, WebGeek Gushi on efnet/undernet IRC ICQ: 13735144 AIM: LarpGM Site: http://www.gushi.org
Dan Mahoney, System Admin wrote:
We've recently taken on mailman to handle many large, popular lists at my day job, and one strangely-missing feature is the inability to avoid duplicates when someone cc's a list's old alias and new alias (we also moved the lists to a subdomain, out from under our primary).
This was reposted to mailman-users and answered there. Thread at <http://mail.python.org/pipermail/mailman-users/2008-December/064279.html>.
Another great feature would be to have mailman "strip" multiple cc recipients. I.e. if a message is sent:
to: list cc: list-alias(*), another-list-alias(*)
-or-
to: person cc: list, list-alias(*)
To have these (*) stripped (and prevent the need for this). But that's more work, and right now the duplicates are a major regression from what we had before.
I assume by list-alias you mean something in the list's acceptable_aliases. If so, it's tricky since the contents of acceptable aliases are really regexp patterns, not simple strings. However, if in your case, all the strings in acceptable_aliases are full addresses all you need is to insert
for r in mlist.acceptable_aliases.splitlines():
if ccaddrs.has_key(r.lower()):
del ccaddrs[r.lower()]
in Mailman.Handlers.AvoidDuplicates.py just ahead of
# RFC 2822 specifies zero or one CC header
del msg['cc']
if ccaddrs:
msg['Cc'] = COMMASPACE.join([formataddr(i) for i in
ccaddrs.values()])
at the end of the module. I wouldn't suggest doing this in general, even with a regexp match, because there are bound to be unintended consequences in cases where there is not an explicit reply to list and/or acceptable_aliases has one or more actual regexps.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (2)
-
Dan Mahoney, System Admin
-
Mark Sapiro