[Mailman-Users] automating adding and removing subscribers

Steven Jones Steven.Jones at vuw.ac.nz
Wed Oct 21 00:52:49 CEST 2015


Hi,

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.

thanks

regards

Steven

________________________________________
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

Hello,

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
<listname>.yesterday
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,
Chris

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

------------------------------------------------------
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/steven.jones%40vuw.ac.nz


More information about the Mailman-Users mailing list