def process_send_reset_email_action(self, request): email = request.data.get('email').lower() if not email: return bad_request('Email is required') try: validator = EmailValidator() validator.__call__(email) except ValidationError: return bad_request('Invalid email format') try: user = User.objects.get(email__iexact=email) except User.DoesNotExist: user = None if user is None: return bad_request('There is no account registered for this email') try: link = PwResetLink.objects.get(user=user) except PwResetLink.DoesNotExist: link = PwResetLink() token = '{0}-{1}'.format(uuid.uuid4(), uuid.uuid4()) link.user = user link.token = token link.last_modified_date = datetime.datetime.now() link.save() EmailService().send_reset_pwd_email(user, token) return Response({}, status=status.HTTP_200_OK)
def validate_email(email): if not email: raise ValidationError('Email is required') try: validator = EmailValidator() validator.__call__(email) except ValidationError: raise ValidationError('Invalid email format')
def clean_send_to_users(self): v = EmailValidator() for user in self.cleaned_data['send_to_users']: email = user.userprofile.email if email: try: v.__call__(email) except ValidationError as e: raise ValidationError( _("Invalid email '%(email)s' of user %(user)s: %(exception)s" ) % { 'email': email, 'user': user, 'exception': e, }, ) return self.cleaned_data['send_to_users']
def validate_email(email): email_validator = EmailValidator() email_valid = email_validator.__call__(email) if email_valid == False: raise ValidationError() return email