Beispiel #1
0
    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())
Beispiel #2
0
    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
Beispiel #3
0
    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)
Beispiel #4
0
    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
Beispiel #5
0
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)
Beispiel #6
0
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)