[Mailman-Users] automating adding and removing subscribers

Chris Nulk cnulk at scu.edu
Wed Oct 21 00:40:43 CEST 2015


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.

Good Luck,

On 10/20/2015 2:42 PM, Steven Jones wrote:
> Hi,
> Is there a way to automate the adding and removing subscribers from another system? such that the list is kept concurrent?
> regards
> Steven
> ------------------------------------------------------
> Mailman-Users mailing list Mailman-Users at python.org
> https://mail.python.org/mailman/listinfo/mailman-users
> 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

More information about the Mailman-Users mailing list