[Mailman-Users] umbrella_list?

Jon Carnes jonc at nc.rr.com
Wed Oct 17 06:36:37 CEST 2001


> The scenario is that I have a number of sublists and wish to be able to
> contact all of them simultaneously by sending to a single list. I can do
> this already; however, if one user is subscribed to more than one of
> these sublists, they get multiple copies of mail sent to the single list.
> I wish to prevent this if possible.
>
> I am thus trying to designate a Mailman list as being an "umbrella list,"
> which I understand to be exactly what I need. My dealings with the online
> documentation and the Web configuration pages suggest that there is some
> umbrella_list option, but I cannot find any substantive text on this
> feature.
>
> Any help would be greatly appreciated.
>
> Regards,
>
> Shane Beasley <sbeasley at cs.uic.edu>

Currently Umbrella lists *do not* stop folks from receiving multiple 
copies.  

To stop folks from receiving multiple copies, you will have to make your 
own mega-list by using a script and building the mega-list from each of the 
sub lists.

In the example below, we have a lot of lists for various groups working on 
a project called Pegasus.  The pegasus-all list includes everyone on the 
sub lists (and only one copy of each email address).

===   ===
#!/bin/bash
# Create and sync the Pegasus_All at haht.com mailing list using Mailman
# The list includes everyone on a Pegasus* mailing list.
 
echo " " >/tmp/pegasus_list
for i in `/home/mailman/bin/list_lists |grep -i pegasus |grep -vi _all| \
   sed 's/^ *//' |cut -f1 "-d " `
do
  /home/mailman/bin/list_members $i >>/tmp/pegasus_list
done
 
cat /tmp/pegasus_list |sort -u >/tmp/pegasus_all_list
/home/mailman/bin/sync_members -f /tmp/pegasus_all_list pegasus_all 
>/dev/null
 
rm /tmp/pegasus_list
rm /tmp/pegasus_all_list
===   ===

The script dumps out the name of each list using "list_lists",
It looks for any list with "pegasus" in the name,
dumps the users out of those lists into a file using "list_members",
finally it uses "sync_members" to pump the users into the pegasus_all list.

I do a lot of superfluous stuff in the example (like sort the list for 
unique members), that Mailman will actually handle automatically.  I wrote 
this when I was still just learning what Mailman could do.

This script is kicked off by crontab hourly so the pegaus_all list is 
always fairly up to date.

I hope this helps.  Take care - Jon Carnes




More information about the Mailman-Users mailing list