[Mailman-Users] automating adding and removing subscribers
Steven.Jones at vuw.ac.nz
Wed Oct 21 00:52:49 CEST 2015
No, this sounds good enough and what I thought of doing as the external file/list will be updated once a week which I'll "suck" onto the server.
I just wondered if there was something already written in/for mailman to do this.
From: Mailman-Users <mailman-users-bounces+steven.jones=vuw.ac.nz at python.org> on behalf of Chris Nulk <cnulk at scu.edu>
Sent: Wednesday, 21 October 2015 11:40 a.m.
To: mailman-users at python.org
Subject: Re: [Mailman-Users] automating adding and removing subscribers
It depends on how much work you want to do and how timely the changes
need to be made. Here is what we have and do...
We have two lists for each group of users. Both lists are used. One
list is dynamically built using LDAP. That list is considered the
master list. Members are not allowed to remove themselves nor change
any options. The second list is a regular list built using data from
the master list. Users can removed themselves and change their options.
To automate the adding and removing of subscribers on the second list, we:
1. if <listname>.today exists, rename <listname>.today to
2. dump the list membership of the masters list to <listname>.today
3. diff -i --context=0 <listname>.today <listname>.yesterday ->
<listname>.diff so that each line of <listname>.diff has a '+' before
the address to be added and a '-' before the address to be removed.
4. Split <listname>.diff into <listname>.add and <listname>.remove where
<listname>.add has all the '+' addresses (without the '+') and
<listname>.remove has the equivalent for address to remove.
5. Use the regular Mailman tools, add_members and remove_members, to add
and remove subscribers to the second list.
We run this process once a day. When a new user shows up in the master
list, it takes a day to make it to the second list. Acceptable for us.
Run more often if you need faster updates to the second list.
The master list doesn't have to be a list. It can be a list of address
from a database, LDAP, or anything else. All the processing to the
master list information can be done on another system or the same
system. Only send the <listname>.add and <listname>.remove files to the
Mailman system for final processing.
The process works for us. Diff occasionally glitches on closely matched
names but a follow on process run weekly fixes the problem.
On 10/20/2015 2:42 PM, Steven Jones wrote:
> Is there a way to automate the adding and removing subscribers from another system? such that the list is kept concurrent?
> Mailman-Users mailing list Mailman-Users at python.org
> Mailman FAQ: http://wiki.list.org/x/AgA3
> Security Policy: http://wiki.list.org/x/QIA9
> Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
> Unsubscribe: https://mail.python.org/mailman/options/mailman-users/cnulk%40scu.edu
Mailman-Users mailing list Mailman-Users at python.org
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
More information about the Mailman-Users