On Fri, Apr 05, 2002 at 12:24:38PM -0500, Barry A. Warsaw wrote: > >>>>> "JRA" == Jay R Ashworth <[EMAIL PROTECTED]> writes: > JRA> The problem is that they're already in a database (filePro > JRA> for Unix on SCO 5, on a machine behind a Linux 7.1 firewall), > JRA> and they want to be able to selectwhom to mail on an adhoc > JRA> basis. > > JRA> This seems to suggest to *me* that I need to be able to > JRA> either 1) set up and strike lists on the mailman side with > JRA> some dispatch, or better 2) wire mailman atop the extant > JRA> database... which I would prefer to do because I *don't* want > JRA> to lose the web-based signoff stuff, etc. > > Can you use MM2.1? If so, then your options are many.
Ghod I love the net. At the moment, the only requirement is that it *work* when I'm done. :-) Is the Member Adaptor stuff *in* 2.1? Cool; I thought that was 3.0 stuff. > If the membership list needs to change on the fly, then use the new > "virtual list" feature. I.e. create a list that all the message will > appear to come from but build the recipient list on-the-fly. The > easiest way to do this is, use a Python program to suck the data out > of filePro (I've no idea how to do that), and build a Python list of > recipients addresses. Then, make sure the installed Mailman package > is in your sys.path (so your driver script can import Mailman > modules). This is precisely what I needed; with one exception. > Assuming you've got the listname, the list of recipients, and the > message as plain text, it might be as simple as: > > from Mailman.Post import inject > inject(listname, msgtext, recipients) > > Note that Mailman/Post.py can also be run as a command line script. Noted. :-) > Alternatively, you might want to use the new extend.py interface to > hook into the MailList instance for your list. If there's a file > called extend.py in your lists/listname directory, it will be > execfile()'d and a function extend() will be called, passing in the > MailList instance. > > Your extend() function can do something like, overload the Load() and > Save() method so that membership data is funneled to your database. > You probably just need to re-implement the MemberAdaptor.py interface > and set the mlist._memberadaptor attribute to your customized > version. Then everything else should Just Work. Oh yeah; like it's gonna be that easy. This is what I really need, assuming as I do that it will allow the "unsubscribe" web page to link back into my live data... But I'm not sure how to get there from here. > JRA> This is, of course, a paying gig... and it's not impossible I > JRA> might sub out the "interface the back of Mailman to my > JRA> database" part, particularly if it can be done generally > JRA> enough to make accessing filePro data from Python easy, since > JRA> that's something I'd find generically useful. > > It would be nice if this was spec'd as being releasable under the > Python license, so it could be donated back to Python. Lvoe to go there if I can. If it gets someone a discount, that will make it easier. :-) Cheers, -- jra -- Jay R. Ashworth [EMAIL PROTECTED] Member of the Technical Staff Baylink RFC 2100 The Suncoast Freenet The Things I Think Tampa Bay, Florida http://baylink.pitas.com +1 727 647 1274 "If you don't have a dream; how're you gonna have a dream come true?" -- Captain Sensible, The Damned (from South Pacific's "Happy Talk") _______________________________________________ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers