Monday, November 08, 2010 at 12:04 AM.
system.verbs.builtins.mainResponder.members.sendMail
on sendMail (mailaddress, adrmemberstable, pta=nil) { <<Changes: <<04/14/00; 9:15:22 PM by JES <<localized error messages <<05/01/00; 6:58:20 PM by JES <<Changed getString calls to use a replacement table address instead of a lists <<10/27/00; 10:35:01 PM by PBS <<The page table addres is now an optional parameter. It may be needed by localization routines. mainresponder.members.validmailaddress (mailaddress); //scriptErrors if not valid local (adrusers = @adrmemberstable^.users); if not defined (adrusers^) { new (tabletype, adrusers)}; local (adrpendingmember = @adrusers^.[mailaddress]); local (flnewpassword = true); if adrmemberstable^.openToPublic { if defined (adrpendingmember^) { flnewpassword = false} else { new (tabletype, adrpendingmember)}} else { if not defined (adrpendingmember^) { local (replacementTable); new (tableType, @replacementTable); // 05/01/00 JES: use replacement table instead of a list replacementTable.sysopmail = user.prefs.mailaddress; scriptError (mainResponder.getString ("members.sendMailNotPublicError", @replacementTable, pta:pta))}; // 4/14/00 JES: localized //PBS 10/27/00: send pta parameter if defined (adrpendingmember^.password) { local (replacementTable); new (tableType, @replacementTable); // 05/01/00 JES: use replacement table instead of a list replacementTable.mailaddress = mailaddress; scriptError (mainResponder.getString ("members.sendMailAlreadyMemberError", @replacementTable, pta:pta))}}; // 4/14/00 JES: localized //PBS 10/27/00: send pta parameter if flnewpassword { local (password); bundle { //create a new password for i = 1 to 12 { password = password + char (random ('A', 'Z'))}; adrpendingmember^.password = password}}; bundle { //send the email message local (s = string (adrmemberstable^.mailtemplate)); s = string.replaceAll (s, "<<password>>", adrpendingmember^.password); s = string.davenetMassager (2, 60, s); local (subject = adrmemberstable^.mailSubject); local (returnAddress = adrmemberstable^.mailReturnAddress); tcp.sendMail (mailaddress, subject, s, returnAddress); msg ("")}; //erase messages displayed by tcp.sendMail fileMenu.saveMyRoot (adrmemberstable); return (true)} <<bundle //test code <<sendMail ("dave@userland.com", @["C:\\Palm Springs\\Websites\\discussiongroup.root"].["#members"])
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.