Good question... Okay, here is start. These two lines list out the email addresses that are set to NOMAIL for a specific list.
=== No Mail users === ~mailman/bin/dumpdb ../lists/<list-name>/config.db | grep "@" |grep ": 1" | sed "s/'user_options'//" | cut -f2 "-d'" ~mailman/bin/dumpdb ../lists/<list-name>/config.db | grep "@" |grep ": 9" | sed "s/'user_options'//" | cut -f2 "-d'" User_options 1 and 9 signify nomail: 1 is no mail and digest 9 is no mail and regular If the first user of a list has the NOMAIL option then 'user options' appears in front of it, and the cut doesn't get the email address. To handle this minor problem, I use sed to edit it out if it occurs. You can use these two lines to gather all the NOMAIL users from each of your lists and then grep those users out before adding the folks on the list to the total. Once you get it working, how about posting the modified version so we can add it to the FAQ as well. Thanks - Jon Carnes ----- Original Message ----- From: "Mike Mills" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, February 25, 2002 12:43 PM Subject: [Mailman-Users] Umbrella List Question > I have an umbrella list that is created from 9 other lists using the > techniques recommended in the FAQ's. I just realized that when extracting > the members from a list to create the umbrella list that those members who > have the NO MAIL option selected are still included and become members of > the umbrella list. Bounce management also sets the NO MAIL flag. Any > suggestions on how to exclude members who have NO MAIL set when building the > Umbrella list? > > The script that creates the umbrella list: > #! /bin/sh > PATH=/bin:/usr/bin:/usr/local/bin:$HOME/bin:$HOME/usr/bin:$HOME/usr/local/bi > n > export PATH > #lets start with an empty file > echo " " >/tmp/all_list > #now define the lists that comprise the all list > List='list1 list2 list3 list4 list5 list6 list7 list8' > #and now bring them together > for entry in $List > do > /usr/local/mailman/bin/list_members $entry >>/tmp/all_list > done > #now eliminate duplicates > cat /tmp/all_list |sort -u >/tmp/all_all_list > #now update the alllist list > /usr/local/mailman/bin/sync_members -f /tmp/all_all_list alllist>/dev/null > #and clean up the temp files > rm /tmp/all_list > rm /tmp/all_all_list > > > > Mike Mills > [EMAIL PROTECTED] > > > > > ------------------------------------------------------ > Mailman-Users maillist - [EMAIL PROTECTED] > http://mail.python.org/mailman/listinfo/mailman-users ------------------------------------------------------ Mailman-Users maillist - [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-users
