Exemple #1
0
 def handle(self, *args, **options):
     try:
         user = User.objects.get(email=options['email'])
         send_email(to=user.email,
                    subject=options['subject'],
                    data={
                        'username': user.first_name,
                    },
                    template=options['template'])
     except Exception as e:
         self.stdout.write(self.style.ERROR('ERROR: %s' % str(e)))
Exemple #2
0
    def send_mail(self,
                  subject_template_name,
                  email_template_name,
                  context,
                  from_email,
                  to_email,
                  html_email_template_name=None):

        send_email(template=email_template_name,
                   subject=subject_template_name,
                   to=to_email,
                   data=context)
Exemple #3
0
def send_mail(**kwargs):
    """ send mail function, subject and template_name as argument in list """

    # if settings.DEBUG:
    #     return None

    return email.send_email(**kwargs)
Exemple #4
0
    def password_recovery_request(self, request):
        email = request.data.get("email")

        try:
            validate_email(email)
        except ValidationError as e:
            return Response({'error': e.message}, status=HTTP_400_BAD_REQUEST)

        try:
            user = User.objects.get(email=email)
        except User.DoesNotExist as e:
            return Response({'error': _('This email is not registered')},
                            status=HTTP_404_NOT_FOUND)

        try:
            UserPasswordRecoveryRequest.objects.get(user=user)
            return Response(
                {
                    'error':
                    _('You have already requested to change your password.')
                },
                status=HTTP_400_BAD_REQUEST)
        except UserPasswordRecoveryRequest.DoesNotExist:
            pass

        try:
            token = default_token_generator.make_token(user)

            send_email(to=email,
                       subject=_('(app)%s - password reset'),
                       data={
                           'username':
                           user.first_name,
                           'token':
                           token,
                           'uid':
                           urlsafe_base64_encode(force_bytes(
                               user.pk)).decode()
                       })

            uprr = UserPasswordRecoveryRequest(user=user, token=token)
            uprr.save()

        except Exception as e:
            return Response({'error': str(e)}, status=HTTP_400_BAD_REQUEST)

        return Response({True})