Exemple #1
0
    def _send_forgot_password_email(self, user):
        serializer = self.request.registry.password_reset_serializer
        code = serializer.dumps(user.username)

        link = reset_password_link(self.request, code)
        message = reset_password_email(user, code, link)
        mailer.send(self.request, **message)
Exemple #2
0
def test_send_retries_if_mailing_fails(pyramid_mailer, celery):
    celery.request = mock.sentinel.request
    request_mailer = pyramid_mailer.get_mailer.return_value
    request_mailer.send_immediately.side_effect = SMTPServerDisconnected()

    mailer.send.retry = mock.Mock(spec_set=[])
    mailer.send(recipients=['*****@*****.**'],
                subject='My email subject',
                body='Some text body')

    assert mailer.send.retry.called
Exemple #3
0
def test_send_dispatches_email_using_request_mailer(pyramid_mailer, celery):
    celery.request = mock.sentinel.request
    request_mailer = pyramid_mailer.get_mailer.return_value
    message = pyramid_mailer.message.Message.return_value

    mailer.send(recipients=['*****@*****.**'],
                subject='My email subject',
                body='Some text body')

    pyramid_mailer.get_mailer.assert_called_once_with(mock.sentinel.request)
    request_mailer.send_immediately.assert_called_once_with(message)
Exemple #4
0
def test_send_creates_email_message(pyramid_mailer, celery):
    celery.request = mock.sentinel.request

    mailer.send(recipients=['*****@*****.**'],
                subject='My email subject',
                body='Some text body')

    pyramid_mailer.message.Message.assert_called_once_with(
        subject='My email subject',
        recipients=['*****@*****.**'],
        body='Some text body',
        html=None)
Exemple #5
0
    def _register(self, username, email, password):
        user = User(username=username, email=email, password=password)
        self.request.db.add(user)

        # Create a new activation for the user
        activation = Activation()
        self.request.db.add(activation)
        user.activation = activation

        # Flush the session to ensure that the user can be created and the
        # activation is successfully wired up
        self.request.db.flush()

        # Send the activation email
        message = activation_email(self.request, user)
        mailer.send(self.request, **message)

        self.request.session.flash(jinja2.Markup(_(
            'Thank you for creating an account! '
            "We've sent you an email with an activation link, "
            'before you can sign in <strong>please check your email and open '
            'the link to activate your account</strong>.')), 'success')
        self.request.registry.notify(RegistrationEvent(self.request, user))