Beispiel #1
0
    def _sendReport(self):
        # if no e-mail address was specified,
        # add a default one
        if self._userMail:
            fromAddr = self._userMail
        else:
            fromAddr = '*****@*****.**'

        toAddr = config.SUPPORT_EMAIL
        Logger.get('errorReport').debug('mailing %s' % toAddr)
        subject = "[Indico@{}] Error report".format(
            url_parse(config.BASE_URL).netloc)

        request_info = self._requestInfo or ''
        if isinstance(request_info, (dict, list)):
            request_info = pformat(request_info)

        # build the message body
        body = [
            "-" * 20, "Error details\n",
            str(self._code), self._message, "Inner error: " + str(self._inner),
            request_info, "-" * 20
        ]
        maildata = {
            "fromAddr": fromAddr,
            "toList": [toAddr],
            "subject": subject,
            "body": "\n".join(body)
        }
        GenericMailer.send(GenericNotification(maildata))
Beispiel #2
0
 def _send_confirmation(self, email):
     token_storage = GenericCache('confirm-email')
     data = {'email': email, 'user_id': self.user.id}
     token = make_unique_token(lambda t: not token_storage.get(t))
     token_storage.set(token, data, 24 * 3600)
     GenericMailer.send(make_email(email, template=get_template_module('users/emails/verify_email.txt',
                                                                       user=self.user, email=email, token=token)))
Beispiel #3
0
 def _send_confirmation(self, email):
     token_storage = GenericCache('confirm-email')
     data = {'email': email, 'user_id': self.user.id}
     token = make_unique_token(lambda t: not token_storage.get(t))
     token_storage.set(token, data, 24 * 3600)
     GenericMailer.send(make_email(email, template=get_template_module('users/emails/verify_email.txt',
                                                                       user=self.user, email=email, token=token)))
Beispiel #4
0
def _send_confirmation(email, salt, endpoint, template, template_args=None, url_args=None, data=None):
    template_args = template_args or {}
    url_args = url_args or {}
    token = secure_serializer.dumps(data or email, salt=salt)
    url = url_for(endpoint, token=token, _external=True, **url_args)
    template_module = get_template_module(template, email=email, url=url, **template_args)
    GenericMailer.send(make_email(email, template=template_module))
    flash(_('We have sent you a verification email. Please check your mailbox within the next hour and open '
            'the link in that email.'))
    return redirect(url_for(endpoint, **url_args))
Beispiel #5
0
def _send_confirmation(email, salt, endpoint, template, template_args=None, url_args=None, data=None):
    template_args = template_args or {}
    url_args = url_args or {}
    token = secure_serializer.dumps(data or email, salt=salt)
    url = url_for(endpoint, token=token, _external=True, **url_args)
    template_module = get_template_module(template, email=email, url=url, **template_args)
    GenericMailer.send(make_email(email, template=template_module))
    flash(_('We have sent you a verification email. Please check your mailbox within the next hour and open '
            'the link in that email.'))
    return redirect(url_for(endpoint, **url_args))
Beispiel #6
0
def send_email(email, event=None, module='', user=None, skip_queue=False):
    """Sends an email created by :func:`make_email`.

    :param email: The email object returned by :func:`make_email`
    :param event: If specified, the email will be saved in that
                  event's log
    :param module: The module name to show in the email log
    :param user: The user to show in the email log
    :param skip_queue: If true, the email will be sent immediately
                       instead of being queued until after commit even
                       while inside a RH context
    """
    if event is not None:
        GenericMailer.sendAndLog(email, event, module=module, user=user, skipQueue=skip_queue)
    else:
        GenericMailer.send(email, skipQueue=skip_queue)