## Script (Python) "notify_members_published_content" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters=state_change ##title="Announce content to listed members" ## contentObject = state_change.object objectOwner = contentObject.Creator() objectType = contentObject.getTypeInfo().getId() objectTitle = contentObject.TitleOrId() actorId = context.portal_membership.getAuthenticatedMember().getId() actorEmail = context.portal_membership.getMemberById(actorId).email try: mailhost=getattr(context, context.portal_url.superValues('Mail Host')[0].id) except: raise AttributeError, "Can't find a Mail Host object" mailList=[] for item in context.portal_membership.listMembers(): if item.listed and item.email: mailList.append(item.email) mSubj = 'New '+objectType+' on FCFCN.ORG: "'+objectTitle+'"' mMsg = 'From: "'+actorId+'" <'+actorEmail+'>\n' mMsg = mMsg+'To: "'+actorId+'" <'+actorEmail+'>\n' mMsg = mMsg+'Subject: '+mSubj+'\n\n' mMsg = mMsg+'The '+objectType+' titled "'+objectTitle+'"\n' mMsg = mMsg+'is posted at:\n\n' mMsg = mMsg+' '+state_change.object.absolute_url()+'\n\n' mMsg = mMsg+'Check it out!\n\n' mMsg = mMsg+'This message is sent as a service to members\n' mMsg = mMsg+'of the FCFCN.ORG Web Development team.\n' mMsg = mMsg+'If you do not wish to receive such notices,\n' mMsg = mMsg+'please visit your preferences page at:\n' mMsg = mMsg+' http://www.fcfcn.org/portal_form/personalize_form\n' mMsg = mMsg+'and change your Mailing List status.' mailhost.send(mMsg, mailList, actorEmail, mSubj)