示例#1
0
    def __call__(self, confirm):

        """ helper method to enable osh mail subscription to anonymous user

        a tracking code is added to the response for tracking by an
        external company
        """
        ptool = getToolByName(self.context, 'portal_url')
        portal = ptool.getPortalObject()

        host = getToolByName(self.context, 'MailHost')
        REQUEST = self.request
        refererstem = REQUEST.get('HTTP_REFERER').split('?')[0]

        recipient = '*****@*****.**'
        sender = REQUEST.get('confirm_email')

        if confirm =='yes':
            mesg = "unsubscribe OSHMail\n"
            mssg = _("Thank you! You have been unsubscribed succesfully.")
            subject = ''
            try:
                host.send(mesg, mto=recipient, mfrom=sender, subject=subject)
            except Exception, e:
                mssg = _(
                    u"Your unsubscription request could not be sent. Please "
                    "try again.") + str(e)

            return REQUEST.RESPONSE.redirect(
                self.context.absolute_url() + "?e=%s&msg=%s" % (
                    encodeEmail(sender), mssg))
示例#2
0
    def __call__(self, confirm):
        """ helper method to enable osh mail subscription to anonymous user

        a tracking code is added to the response for tracking by an
        external company
        """
        ptool = getToolByName(self.context, 'portal_url')
        portal = ptool.getPortalObject()

        host = getToolByName(self.context, 'MailHost')
        REQUEST = self.request
        refererstem = REQUEST.get('HTTP_REFERER').split('?')[0]

        recipient = '*****@*****.**'
        sender = REQUEST.get('confirm_email')

        if confirm == 'yes':
            mesg = "unsubscribe OSHMail\n"
            mssg = _("Thank you! You have been unsubscribed succesfully.")
            subject = ''
            try:
                host.send(mesg, mto=recipient, mfrom=sender, subject=subject)
            except Exception, e:
                mssg = _(
                    u"Your unsubscription request could not be sent. Please "
                    "try again.") + str(e)

            return REQUEST.RESPONSE.redirect(self.context.absolute_url() +
                                             "?e=%s&msg=%s" %
                                             (encodeEmail(sender), mssg))
示例#3
0
        ptool = getToolByName(self.context, 'portal_url')
        portal = ptool.getPortalObject()

        host = getToolByName(self.context, 'MailHost')
        REQUEST = self.request
        refererstem = REQUEST.get('HTTP_REFERER').split('?')[0]

        recipient = '*****@*****.**'
        sender = REQUEST.get('confirm_email')

        if confirm == 'yes':
            mesg = "unsubscribe OSHMail\n"
            mssg = _("Thank you! You have been unsubscribed succesfully.")
            subject = ''
            try:
                host.send(mesg, mto=recipient, mfrom=sender, subject=subject)
            except Exception, e:
                mssg = _(
                    u"Your unsubscription request could not be sent. Please "
                    "try again.") + str(e)

            return REQUEST.RESPONSE.redirect(self.context.absolute_url() +
                                             "?e=%s&msg=%s" %
                                             (encodeEmail(sender), mssg))

        else:
            mssg = _(u"You are still subscribed to the mailing list.")
            return REQUEST.RESPONSE.redirect(self.context.absolute_url() +
                                             "?e=%s&msg=%s" %
                                             (encodeEmail(sender), mssg))
示例#4
0
    try:
        msg = unicode(msg, 'iso8859-1').encode('utf-8')
    except:
        pass
    return REQUEST.RESPONSE.redirect(referer + "portal_status_message=" + msg)


if REQUEST.get('submit') == 'unsubscribe':
    mesg = "UNSUBSCRIBE OSHMAIL\n"
    mssg = "Your unsubscription request has been sent."
else:
    mesg = "SUBSCRIBE OSHMAIL anonymous\n"
    mssg = "Your subscription request has been sent."


recipient = op.getProperty('listserv_email', siteadmin)

sender = emailaddress

subject = ''
try:
    host.send(mesg, mto=recipient, mfrom=sender, subject=subject)
except Exception, e:
    mssg = "Your subscription could not be sent. Please try again."

if not noredirect:
    from slc.alertservice.utils import encodeEmail
    # this feedbackpage has been added to contain a specific tracking code for an external company
    #feedbackpage = "http://osha.europa.eu/news/oshmail/subscription_feedback?portal_status_message=%s&e=%s" % (mssg, encodeEmail(sender))
    return REQUEST.RESPONSE.redirect(refererstem + "/subscription_feedback?portal_status_message=%s&e=%s" % (mssg, encodeEmail(sender)))
示例#5
0
    try:
        msg = unicode(msg, 'iso8859-1').encode('utf-8')
    except:
        pass
    return REQUEST.RESPONSE.redirect(referer + "portal_status_message=" + msg)

if REQUEST.get('submit') == 'unsubscribe':
    mesg = "UNSUBSCRIBE OSHMAIL\n"
    mssg = "Your unsubscription request has been sent."
else:
    mesg = "SUBSCRIBE OSHMAIL anonymous\n"
    mssg = "Your subscription request has been sent."

recipient = op.getProperty('listserv_email', siteadmin)

sender = emailaddress

subject = ''
try:
    host.send(mesg, mto=recipient, mfrom=sender, subject=subject)
except Exception, e:
    mssg = "Your subscription could not be sent. Please try again."

if not noredirect:
    from slc.alertservice.utils import encodeEmail
    # this feedbackpage has been added to contain a specific tracking code for an external company
    #feedbackpage = "http://osha.europa.eu/news/oshmail/subscription_feedback?portal_status_message=%s&e=%s" % (mssg, encodeEmail(sender))
    return REQUEST.RESPONSE.redirect(
        refererstem + "/subscription_feedback?portal_status_message=%s&e=%s" %
        (mssg, encodeEmail(sender)))
示例#6
0
class OSHmailSubscribe(BrowserView):
    """View for displaying oshmail
    """
    def __call__(self, emailaddress, name=''):
        """ helper method to enable osh mail subscription to anonymous user """

        reg_tool = getToolByName(self.context, 'portal_registration')
        host = getToolByName(self.context, 'MailHost')

        REQUEST = self.request
        if not emailaddress:
            emailaddress = REQUEST.get('emailaddress', '')
        refererstem = REQUEST.get('HTTP_REFERER').split('?')[0]
        referer = refererstem + '?'
        qs = REQUEST.get('QUERY_STRING', '')
        if qs:
            referer += '?' + qs + '&'

        if not reg_tool.isValidEmail(emailaddress):
            msg = _(u'You did not enter a valid email address.')
            referer += "err=email&msg=%s&" % msg
            return REQUEST.RESPONSE.redirect(referer)

        # validate captcha
        test_key = REQUEST.get('key', '')
        hashkey = REQUEST.get('hashkey', '')
        decrypted_key = decrypt(self.context.captcha_key, hashkey)
        parsed_key = parseKey(decrypted_key)

        index = parsed_key['key']
        date = parsed_key['date']

        if REQUEST.has_key('unsubscribe'):
            return REQUEST.RESPONSE.redirect(
                self.context.absolute_url() +
                "/confirm-unsubscription?emailaddress=%s" % (emailaddress))

        img = getattr(self.context, '%s.jpg' % index)
        solution = img.title
        enc = encrypt1(test_key)
        captcha_tool = getToolByName(self.context, 'portal_captchas')
        if (enc != solution) or (captcha_tool.has_key(decrypted_key)) \
                or (DateTime().timeTime() - float(date) > 3600):
            msg = _(u"Please re-enter validation code.")
            referer += "err=captcha&msg={msg}&emailaddress={emailaddress}&".format(
                msg=msg, emailaddress=emailaddress)
            return REQUEST.RESPONSE.redirect(referer)
        else:
            captcha_tool.addExpiredKey(decrypted_key)

        mesg = "subscribe OSHMail anonymous\n"
        mssg = _(
            "Thank you for subscribing to the OSHmail newsletter. You will "
            "receive an email to confirm your subscription.")

        recipient = '*****@*****.**'

        sender = emailaddress
        if name:
            sender = "%s <%s>" % (name, sender)

        subject = ''
        try:
            host.send(mesg, mto=recipient, mfrom=sender, subject=subject)
        except Exception, e:
            mssg = _("Your subscription could not be sent. Please try again.")
            mssg = u"%s %s" % (mssg, e)

        from slc.alertservice.utils import encodeEmail
        # this feedbackpage has been added to contain a specific
        # tracking code for an external company
        return REQUEST.RESPONSE.redirect(refererstem + "?e=%s&msg=%s" %
                                         (encodeEmail(sender), mssg))
示例#7
0
        ptool = getToolByName(self.context, 'portal_url')
        portal = ptool.getPortalObject()

        host = getToolByName(self.context, 'MailHost')
        REQUEST = self.request
        refererstem = REQUEST.get('HTTP_REFERER').split('?')[0]

        recipient = '*****@*****.**'
        sender = REQUEST.get('confirm_email')

        if confirm =='yes':
            mesg = "unsubscribe OSHMail\n"
            mssg = _("Thank you! You have been unsubscribed succesfully.")
            subject = ''
            try:
                host.send(mesg, mto=recipient, mfrom=sender, subject=subject)
            except Exception, e:
                mssg = _(
                    u"Your unsubscription request could not be sent. Please "
                    "try again.") + str(e)

            return REQUEST.RESPONSE.redirect(
                self.context.absolute_url() + "?e=%s&msg=%s" % (
                    encodeEmail(sender), mssg))

        else:
            mssg = _(u"You are still subscribed to the mailing list.")
            return REQUEST.RESPONSE.redirect(
                self.context.absolute_url() + "?e=%s&msg=%s" % (
                    encodeEmail(sender), mssg))