def register_user(**kwargs): kwargs.pop('password_confirm', None) user = User.create(**kwargs) signal_context = {'user': user} mail_context = {'user': user} if system_requires_confirmation(): confirmation_token, confirmation_link = \ generate_confirmation_token_and_link(user) signal_context['confirmation_token'] = confirmation_token mail_context['confirmation_link'] = confirmation_link user_registered.send( current_app._get_current_object(), **signal_context) send_mail( 'Thank you for registering!', current_app.config['MAIL_DEFAULT_SENDER'], user.email, plain_template_path='users/emails/welcome.txt.html', html_template_path='users/emails/welcome.html', **mail_context) return user
def send_password_reset_notice(user): signal_context = {'user': user} send_mail( 'Your password has been reset', current_app.config['MAIL_DEFAULT_SENDER'], user.email, plain_template_path='users/emails/reset_password_notice.txt.html', html_template_path='users/emails/reset_password_notice.html', user=user) reset_password_notice_sent.send( current_app._get_current_object(), **signal_context)
def send_reset_password_instructions(user): reset_password_token, reset_password_link = \ generate_reset_password_token_and_link(user) signal_context = {'user': user, 'reset_password_token': reset_password_token} mail_context = {'user': user, 'reset_password_link': reset_password_link} send_mail( 'Please reset your password', current_app.config['MAIL_DEFAULT_SENDER'], user.email, plain_template_path=('users/emails/' 'reset_password_instructions.txt.html'), html_template_path='users/emails/reset_password_instructions.html', **mail_context) reset_password_instructions_sent.send( current_app._get_current_object(), **signal_context)
def send_confirmation_instructions(user): """Sends confirmation instructions email to the specified user :param user: User to send instructions to """ confirmation_token, confirmation_link = \ generate_confirmation_token_and_link(user) signal_context = {'user': user, 'confirmation_token': confirmation_token} mail_context = {'user': user, 'confirmation_link': confirmation_link} send_mail( 'Please confirm your email address', current_app.config['MAIL_DEFAULT_SENDER'], user.email, plain_template_path='users/emails/confirmation_instructions.txt.html', html_template_path='users/emails/confirmation_instructions.html', **mail_context) confirmation_instructions_sent.send( current_app._get_current_object(), **signal_context)