what's the best config for an announce-only list?

I have three mailing lists that are announce-only. That is, anyone can sign up, but only a fixed handful of people are allowed to post to the lists. Under SmartList, I have it set up that anyone who is not authorized to post gets a "you are not authorized" message.
The best I see in Mailman (1.0b8) is to make the list moderated. But in this case, someone has to go in and manually toss the messages. I don't see an equivalent flag for a user of "do not allow posting".
Is anyone else using Mailman to handle announce-only lists like this? What configuration have you used?
Related to this, one of the lists has about 70,000 members and is generated prior to posting from an SQL database. Does anyone have a command-line utility one can use to *replace* the current users list with those from a file? It seems to me that the users are stored in a db file...
Thanks.
v.
--
Vivek Khera, Ph.D. Khera Communications, Inc. Internet: khera@kciLink.com Rockville, MD +1-301-545-6996 PGP & MIME spoken here http://www.kciLink.com/home/khera/

Add the addresses to
http://www/mailman/admin/listname/privacy
under the "Addresses of members accepted for posting" section. Make sure that "Restrict posting privilege to list members" is set to no. To quote the online help:
o If member_posting_only is 'yes', then entries added here will have posting privilege in addition to list members. o If member_posting_only is 'no', then only the posters listed here will be able to post without admin approval.
Look in $prefix/bin for the add_members, list_members, and remove_members scripts. These allow you to modify the list membership via a commandline interface. To replace the current users, you'd have to
list_members listname > /tmp/list.out remove_members -f /tmp/list.out listname add_members -n newfile -w n listname
For some reason list_members fails for me with the -o flag (creates an empty file, then spits to STDOUT), so I redirect to the fie.
Chris

"CL" == Christopher Lindsey <lindsey@ncsa.uiuc.edu> writes:
CL> For some reason list_members fails for me with the -o flag
CL> (creates an empty file, then spits to STDOUT), so I redirect
CL> to the fie.
Stupid omission on my part. Here's a patch.
-Barry
Index: list_members
RCS file: /projects/cvsroot/mailman/bin/list_members,v retrieving revision 1.1 retrieving revision 1.2 diff -c -r1.1 -r1.2 *** list_members 1999/01/02 20:41:50 1.1 --- list_members 1999/02/24 20:05:28 1.2
*** 122,133 **** rmembers = mlist.GetMembers() dmembers = mlist.GetDigestMembers()
! if regular: ! for addr in rmembers: ! print addr ! if digest: ! for addr in dmembers: ! print addr
if __name__ == '__main__': main() --- 122,138 ---- rmembers = mlist.GetMembers() dmembers = mlist.GetDigestMembers()
! try: ! sys.stdout = fp ! if regular: ! for addr in rmembers: ! print addr ! if digest: ! for addr in dmembers: ! print addr ! finally: ! sys.stdout = sys.__stdout__ !
if __name__ == '__main__': main()

I just realized this may not work for all versions of Python. I can't remember when sys.__stdout__ showed up, but the finally clause isn't that important anyway. I'll check a better fix into the CVS tree.
-Barry

"VK" == Vivek Khera <khera@kcilink.com> writes:
VK> Is anyone else using Mailman to handle announce-only lists
VK> like this? What configuration have you used?
I run a number of such lists on the python.org site. What I do is select "No" for posts-approved-by-admin and restrict-posting, but then I fill in the addresses-of-members-accepted text box with the explicit addresses that are allowed to post. I'll often edit the general list info HTML so that they don't get the impression they can post to the list.
This works well enough for me, but I do occasionally get holds for messages that are accidentally posted there from elsewhere. Doesn't happen often enough for me to be bugged about having to explicity reject or discard the messages.
It might be nice (eventually) to support this type of list more directly, or even have templates or styles of lists that have a lot of stuff preconfigured.
VK> Related to this, one of the lists has about 70,000 members and
VK> is generated prior to posting from an SQL database. Does
VK> anyone have a command-line utility one can use to *replace*
VK> the current users list with those from a file? It seems to me
VK> that the users are stored in a db file...
Not yet. I will eventually have to do something similar for the psa-members list. My plan is to write a little script that takes a flat file of addresses, match them against the addresses in the list database, then subscribe or delete members as necessary. I'll be sure to write this generally and check it into the tree. No ETA on when I'll get a chance to do that though.
-Barry

Add the addresses to
http://www/mailman/admin/listname/privacy
under the "Addresses of members accepted for posting" section. Make sure that "Restrict posting privilege to list members" is set to no. To quote the online help:
o If member_posting_only is 'yes', then entries added here will have posting privilege in addition to list members. o If member_posting_only is 'no', then only the posters listed here will be able to post without admin approval.
Look in $prefix/bin for the add_members, list_members, and remove_members scripts. These allow you to modify the list membership via a commandline interface. To replace the current users, you'd have to
list_members listname > /tmp/list.out remove_members -f /tmp/list.out listname add_members -n newfile -w n listname
For some reason list_members fails for me with the -o flag (creates an empty file, then spits to STDOUT), so I redirect to the fie.
Chris

"CL" == Christopher Lindsey <lindsey@ncsa.uiuc.edu> writes:
CL> For some reason list_members fails for me with the -o flag
CL> (creates an empty file, then spits to STDOUT), so I redirect
CL> to the fie.
Stupid omission on my part. Here's a patch.
-Barry
Index: list_members
RCS file: /projects/cvsroot/mailman/bin/list_members,v retrieving revision 1.1 retrieving revision 1.2 diff -c -r1.1 -r1.2 *** list_members 1999/01/02 20:41:50 1.1 --- list_members 1999/02/24 20:05:28 1.2
*** 122,133 **** rmembers = mlist.GetMembers() dmembers = mlist.GetDigestMembers()
! if regular: ! for addr in rmembers: ! print addr ! if digest: ! for addr in dmembers: ! print addr
if __name__ == '__main__': main() --- 122,138 ---- rmembers = mlist.GetMembers() dmembers = mlist.GetDigestMembers()
! try: ! sys.stdout = fp ! if regular: ! for addr in rmembers: ! print addr ! if digest: ! for addr in dmembers: ! print addr ! finally: ! sys.stdout = sys.__stdout__ !
if __name__ == '__main__': main()

I just realized this may not work for all versions of Python. I can't remember when sys.__stdout__ showed up, but the finally clause isn't that important anyway. I'll check a better fix into the CVS tree.
-Barry

"VK" == Vivek Khera <khera@kcilink.com> writes:
VK> Is anyone else using Mailman to handle announce-only lists
VK> like this? What configuration have you used?
I run a number of such lists on the python.org site. What I do is select "No" for posts-approved-by-admin and restrict-posting, but then I fill in the addresses-of-members-accepted text box with the explicit addresses that are allowed to post. I'll often edit the general list info HTML so that they don't get the impression they can post to the list.
This works well enough for me, but I do occasionally get holds for messages that are accidentally posted there from elsewhere. Doesn't happen often enough for me to be bugged about having to explicity reject or discard the messages.
It might be nice (eventually) to support this type of list more directly, or even have templates or styles of lists that have a lot of stuff preconfigured.
VK> Related to this, one of the lists has about 70,000 members and
VK> is generated prior to posting from an SQL database. Does
VK> anyone have a command-line utility one can use to *replace*
VK> the current users list with those from a file? It seems to me
VK> that the users are stored in a db file...
Not yet. I will eventually have to do something similar for the psa-members list. My plan is to write a little script that takes a flat file of addresses, match them against the addresses in the list database, then subscribe or delete members as necessary. I'll be sure to write this generally and check it into the tree. No ETA on when I'll get a chance to do that though.
-Barry
participants (3)
-
Barry A. Warsaw
-
Christopher Lindsey
-
Vivek Khera