def handleSend(self, action): data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return appconfig = queryUtility(IAppConfig) or {} siteconfig = appconfig.get("site", {}) subject=_("contact_mail_subject", default="Contact request: ${subject}", mapping=data) subject=translate(subject, context=self.request) email=createEmailTo(data["name"], data["email"], siteconfig.get("contact.name", self.context.email_from_name), siteconfig.get("contact.email", self.context.email_from_address), subject, data["message"]) mh=getToolByName(self.context, "MailHost") flash=IStatusMessage(self.request).addStatusMessage try: mh.send(email) except MailHostError as e: log.error("MailHost error sending contact form for %s: %s", data["email"], e) flash(_("error_contactmail", "An error occured while processing your contact request. Please try again later."), "error") return except socket.error as e: log.error("Socket error sending contact form for %s: %s", data["email"], e[1]) flash(_("error_contactmail", "An error occured while processing your contact request. Please try again later."), "error") return flash(_("Message sent"), "success") self.request.response.redirect(aq_inner(self.context).absolute_url())
def handleSend(self, action): data, errors = self.extractData() if errors: self.status = self.formErrorsMessage return appconfig = queryUtility(IAppConfig) or {} siteconfig = appconfig.get("site", {}) subject=_(u"contact_mail_subject", default=u"Contact request: ${subject}", mapping=data) subject=translate(subject, context=self.request) email=createEmailTo(data["name"], data["email"], siteconfig.get("contact.name", self.context.email_from_name), siteconfig.get("contact.email", self.context.email_from_address), subject, data["message"]) mh=getToolByName(self.context, "MailHost") flash=IStatusMessage(self.request).addStatusMessage try: mh.send(email) except MailHostError, e: log.error("MailHost error sending contact form for %s: %s", data["email"], e) flash(_(u"error_contactmail", u"An error occured while processing your contact request. Please try again later."), "error") return
def handleSend(self, action): flash=IStatusMessage(self.request).addStatusMessage data, errors=self.extractData() if errors: self.status=self.formErrorsMessage return pas=getToolByName(self.context, "acl_users") mt=getToolByName(self.context, "portal_membership") user=pas.getUser(data["login"]) if user is None: log.info("Password reset request for unknown user %s" % data["login"]) flash(_("error_pwreset_unknown_user", default="Unknown username."), "error") return member=mt.getMemberById(user.getId()) email_address=member.getProperty("email") if not email_address: flash(_("error_pwreset_no_email", default="No known email address for this user."), "error") return ppr=getToolByName(self.context, "portal_password_reset") reset=ppr.requestReset(user.getId()) portal_url=aq_inner(self.context).absolute_url() reset_url="%s/@@reset-password/%s" % (portal_url, reset["randomstring"]) data["site"]=self.context.title subject=_("password_reset_subject", default="Password reset for ${site}", mapping=data) subject=translate(subject, context=self.request) body=self.email_template(reset_url=reset_url, login=data["login"], site=self.context.title) email=createEmailTo(self.context.email_from_name, self.context.email_from_address, None, email_address, subject, body) mh=getToolByName(self.context, "MailHost") try: mh.send(email) except MailHostError as e: log.error("MailHost error sending password reset form to %s: %s", email_address, e) flash(_("error_contactmail", "An error occured while processing your contact request. Please try again later."), "error") return except socket.error as e: log.error("Socket error sending password reset form to: %s", email_address, e[1]) flash(_("error_contactmail", "An error occured while processing your contact request. Please try again later."), "error") return flash(_("info_pwrest_mail_sent", default="An email with instructions for resetting your password has been sent."), "success") self.request.response.redirect(portal_url)
def handleSend(self, action): flash=IStatusMessage(self.request).addStatusMessage data, errors=self.extractData() if errors: self.status=self.formErrorsMessage return pas=getToolByName(self.context, "acl_users") mt=getToolByName(self.context, "portal_membership") user=pas.getUser(data["login"]) if user is None: log.info("Password reset request for unknown user %s" % data["login"]) flash(_("error_pwreset_unknown_user", default=u"Unknown username."), "error") return member=mt.getMemberById(user.getId()) email_address=member.getProperty("email") if not email_address: flash(_("error_pwreset_no_email", default=u"No known email address for this user."), "error") return ppr=getToolByName(self.context, "portal_password_reset") reset=ppr.requestReset(user.getId()) portal_url=aq_inner(self.context).absolute_url() reset_url="%s/@@reset-password/%s" % (portal_url, reset["randomstring"]) data["site"]=self.context.title subject=_(u"password_reset_subject", default=u"Password reset for ${site}", mapping=data) subject=translate(subject, context=self.request) body=self.email_template(reset_url=reset_url, login=data["login"], site=self.context.title) email=createEmailTo(self.context.email_from_name, self.context.email_from_address, None, email_address, subject, body) mh=getToolByName(self.context, "MailHost") try: mh.send(email) except MailHostError, e: log.error("MailHost error sending password reset form to %s: %s", email_address, e) flash(_(u"error_contactmail", u"An error occured while processing your contact request. Please try again later."), "error") return
def EmailActivationLink(user, event): registration = api.portal.get_tool('portal_registration') if not registration.isValidEmail(user.contact_email): return portal = api.portal.get() mailview = component.getMultiAdapter( (user, user.REQUEST), name="account_created_notification" ) subject = _(u"password_reset_subject", default = u"Password reset for ${site}", mapping={'site':portal.title}) email = createEmailTo( portal.email_from_name, portal.email_from_address, None, user.contact_email, translate(subject, context=user.REQUEST), mailview() ) try: api.portal.get_tool('MailHost').send(email) except MailHostError, e: return NotifyError(e)