def post(self): url = request.host_url + 'reset/' try: body = request.get_json() email = body.get('email') if not email: raise SchemaValidationError user = User.objects.get(email=email) if not user: raise EmailDoesnotExistsError expires = datetime.timedelta(hours=24) reset_token = create_access_token(str(user.id), expires_delta=expires) send_email('[Movie-bag] Reset Your Password', sender='*****@*****.**', recipients=[user.email], text_body=render_template('email/reset_password.txt', url=url + reset_token), html_body=render_template('email/reset_password.html', url=url + reset_token)) return {'Send Link Reset': str(email)}, 200 except SchemaValidationError: raise SchemaValidationError except EmailDoesnotExistsError: raise EmailDoesnotExistsError except Exception as e: raise InternalServerError
def reset_password(self, data): try: reset_token = data.get('reset_token') password = data.get('password') if not reset_token or not password: raise auth_error.SchemaValidationError user_id = decode_token(reset_token)['identity'] user = operation.updateUserPassword(user_id, password) html = render_template('email/successful_reset.html') plain = render_template('email/successful_reset.txt') message = MIMEMultipart('alternative') message.attach(MIMEText(plain, 'plain')) message.attach(MIMEText(html, 'html')) send_email(user.Email, message, 'Şifrenizi Başarıyla sıfırlandı') # except SchemaValidationError: # raise SchemaValidationError except ExpiredSignatureError: raise auth_error.ExpiredTokenError except (DecodeError, InvalidTokenError): raise auth_error.BadTokenError except Exception as e: raise auth_error.InternalServerError
def post(self): url = request.host_url + 'reset/' try: body = request.get_json() reset_token = body.get('reset_token') password = body.get('password') if not reset_token or not password: raise SchemaValidationError user_id = decode_token(reset_token)['identity'] user = User.objects.get(id=user_id) user.modify(password=password) user.hash_password() user.save() return send_email('[Movie-bag] Password reset successful', sender='*****@*****.**', recipients=[user.email], text_body='Password reset was successful', html_body='<p>Password reset was successful</p>') except SchemaValidationError: raise SchemaValidationError except ExpiredSignatureError: raise ExpiredTokenError except (DecodeError, InvalidTokenError): raise BadTokenError except Exception as e: raise InternalServerError
def post(self): url = request.host_url + 'verify/' try: body = request.get_json() user = User(**body) user.hash_password() user.save() id = user.id #return {'id': str(id)}, 200 expires = datetime.timedelta(hours=24) access_token = create_access_token(str(id), expires_delta=expires) return send_email( 'Login verification', sender='*****@*****.**', recipients=[user.email], text_body=render_template('auth/login_email.txt', url=url + access_token), html_body=render_template('auth/login_email.html', url=url + access_token)) except FieldDoesNotExist: raise SchemaValidationError except NotUniqueError: raise EmailAlreadyExistsError except Exception as e: raise InternalServerError
def post(self): url = request.host_url + "reset/" try: body = request.get_json() reset_token = body.get("reset_token") password = body.get("password") if not reset_token or not password: raise SchemaValidationError user_id = decode_token(reset_token)["identity"] user = User.objects.get(id=user_id) user.modify(password=password) user.hash_password() user.save() return send_email( "[Movie-bag] Password reset successful", sender="*****@*****.**", recipients=[user.email], text_body="Password reset was successful", html_body="<p>Password reset was successful</p>", ) except SchemaValidationError: raise SchemaValidationError except ExpiredSignatureError: raise ExpiredTokenError except (DecodeError, InvalidTokenError): raise BadTokenError except Exception: raise InternalServerError
def post(self): url = request.host_url + "reset/" try: body = request.get_json() email = body.get("email") if not email: raise SchemaValidationError user = User.objects.get(email=email) if not user: raise EmailDoesnotExistsError expires = datetime.timedelta(hours=24) reset_token = create_access_token(str(user.id), expires_delta=expires) return send_email( "[Movie-bag] Reset Your Password", sender="*****@*****.**", recipients=[user.email], text_body=render_template("email/reset_password.txt", url=url + reset_token), html_body=render_template("email/reset_password.html", url=url + reset_token), ) except SchemaValidationError: raise SchemaValidationError except EmailDoesnotExistsError: raise EmailDoesnotExistsError except Exception: raise InternalServerError
def post(self): url = request.host_url + 'reset_password/' try: body = request.get_json() reset_token = body.get('reset_token') password = body.get('password') if not reset_token or not password: raise SchemaValidationError user_email = decode_token(reset_token)['identity'] users = mongo.db.users hashed_password = hash_password(body['password']) output = users.update({'email': user_email}, {"$set": {'password': hashed_password}}) return send_email('[Proposal-Management] Password reset successful', sender='*****@*****.**', recipients=[user_email], text_body='Password reset was successful', html_body='<p>Password reset was successful</p>') except SchemaValidationError: raise SchemaValidationError except ExpiredSignatureError: raise ExpiredTokenError except (DecodeError, InvalidTokenError): raise BadTokenError
def post(self): url = request.host_url + 'reset_password/' try: body = request.get_json() email = body.get('email') if not email: raise SchemaValidationError users = mongo.db.users user_found = users.find_one({'email': email}) if not user_found: raise EmailDoesNotExistsError expires = datetime.timedelta(hours=24) reset_token = create_access_token(email, expires_delta=expires) return send_email( subject='[Proposal-Management] Reset Your Password', sender='*****@*****.**', recipients=[email], text_body=render_template('email/reset_password.txt', url=url + reset_token), html_body=render_template('email/reset_password.html', url=url + reset_token) ) except SchemaValidationError: raise SchemaValidationError except EmailDoesNotExistsError: raise EmailDoesNotExistsError
def pot(self): url = request.host_url + 'reset/' try: body.request.get_json() email = body.get('email') if not email: raise SchemaValidationError user = User.objects.get(email=email) if not user: raise EmailDoesnotExistsError expires = datetime.timedelta(minutes=30) reset_token = create_access_token(str(user.id), expires_delta=expires) return send_email('[ettranslate] Reset Your Password', sender = '*****@*****.**', recipients = [user.email], text_body=render_template('email/reset_password.txt', url=url + reset_token), html_body = render_template('email/reset_password.html'), url=url+reset_token) except SchemaValidationError: raise SchemaValidationError except EmailDoesnotExistsError: raise EmailDoesnotExistsError except Exception as e: raise InternalServerError
def post(self): url = request.host_url + 'reset/' try: body = request.get_json() email = body.get('email') if not email: raise SchemaValidationError user = User.objects.get(email=email) if not user: raise EmailDoesnotExistsError expires = datetime.timedelta(hours=24) reset_token = create_access_token(str(user.id), expires_delta=expires) return send_email( '[ToDoer] Reset Your Password', sender='*****@*****.**', recipients=[user.email], text_body=render_template( 'email/reset_password.txt', url=url+reset_token ), html_body=render_template('email/reset_password.html', url=url+reset_token) ) except SchemaValidationError: raise SchemaValidationError except EmailDoesnotExistsError: raise EmailDoesnotExistsError except Exception as e: raise InternalServerError
def post(self): url = 'http://127.0.0.1:3000/reset/' try: body = request.get_json() email = body.get('email') if not email: raise SchemaValidationError try: user = User.objects.get(email=email) except: user = None if not user: raise EmailDoesNotExistsError expires = datetime.timedelta(hours=24) reset_token = create_access_token(str(user.id), expires_delta=expires) return send_email('[Demo] Reset Your Password', sender='*****@*****.**', recipients=[user.email], text_body=render_template('email/reset_password.txt', url=url + reset_token), html_body=render_template('email/reset_password.html', url=url + reset_token)) except SchemaValidationError: raise SchemaValidationError except EmailDoesNotExistsError: raise EmailDoesNotExistsError except Exception as e: raise InternalServerError
def forget_password(self, data, url): try: email = data.get('Email') user = operation.getUserFromEmail(email) if not user: raise auth_error.EmailDoesnotExists expires = datetime.timedelta(hours=24) reset_token = create_access_token(str(user.UserID), expires_delta=expires) html = render_template('email/reset_password.html', url=url + reset_token) plain = render_template('email/reset_password.txt', url=url + reset_token) message = MIMEMultipart('alternative') message.attach(MIMEText(plain, 'plain')) message.attach(MIMEText(html, 'html')) send_email(email, message, 'Şifrenizi Sıfırlayın') return '', 200 except auth_error.EmailDoesnotExists as e: raise auth_error.EmailDoesnotExists
def send_mail(self): send_email('Volunteer Signup: ' + self.name + ' -- ' + self.subject, sender=app.config.get('MAIL_USERNAME'), recipients=[self.email], txt_body=render_template('email/volunteer_signup.txt', message=self))
def send_mail(self): send_email('PROGRAM QUESTION: ' + self.name + ' -- ' + self.subject, sender=app.config.get('MAIL_USERNAME'), recipients=[self.email], txt_body=render_template('email/send_message.txt', message=self))
def send_email(self, subject, sender, template, **kwargs): send_email(subject, sender, [self.email], template, **kwargs) self.last_email_sent = datetime.now(timezone.utc)