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)))
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)
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)
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})