예제 #1
0
    def send_verification(email):
        try:
            user = User.query.filter_by(email=email).first()
            if user.isVerified():
                response_object = {
                    'status': 'Invalid',
                    'message': 'Email is already Verified.',
                }
                return response_object, 300

            token = generate_confirmation_token(user.email)
            subject = "IIT Tech Ambit: Confirm Your Email Address"
            confirm_url = url_for('api.auth_confirm_token',
                                  token=token,
                                  _external=True)
            async_send_mail(
                app._get_current_object(), user.email, subject,
                f"""Hey {user.username}<br/><br/>
Please use the below link to confirm your email address.<br/></br>
{confirm_url}<br/><br/><br/>
DevOps Team<br/>
IIT Tech Ambit""")

        except BaseException:
            LOG.error(
                'Verification Mail couldn\'t be sent to {}. Please try again'.
                format(user.email),
                exc_info=True)
            response_object = {
                'status': 'fail',
                'message': 'Try again',
            }
            return response_object, 500
예제 #2
0
    def reset_password_mail(data):
        try:
            user = User.query.filter_by(email=data.get('email')).first()
            if user is None:
                LOG.info('User with email {} isn\'t registered.'.format(
                    data.get('email')))
            else:
                reset_token = generate_reset_token(data.get('email'))
                subject = "Ah, Dementia! Here's a link to reset your password"
                reset_url = url_for('api.auth_reset_token_verify',
                                    token=reset_token,
                                    _external=True)
                async_send_mail(app._get_current_object(), data.get('email'),
                                subject, reset_url)

            response_object = {
                'status':
                'Success',
                'message':
                'sent a password reset link on your registered email address.'
            }
            return response_object, 200
        except:
            LOG.error(
                'Verification Mail couldn\'t be sent to {}. Please try again'.
                format(data.get('email')))
            LOG.debug(traceback.print_exc())
            response_object = {
                'status': 'fail',
                'message': 'Try again',
            }
            return response_object, 500
예제 #3
0
    def send_verification(email):
        try:
            user = User.query.filter_by(email=email).first()
            if user.isVerified():
                response_object = {
                    'status': 'Invalid',
                    'message': 'Email is already Verified.',
                }
                return response_object, 300

            token = generate_confirmation_token(user.email)
            subject = "Hola! To hop onto IIT Tech Ambit, please confirm your email."
            confirm_url = url_for('api.auth_confirm_token',
                                  token=token,
                                  _external=True)
            async_send_mail(app._get_current_object(), user.email, subject,
                            confirm_url)

        except:
            LOG.error(
                'Verification Mail couldn\'t be sent to {}. Please try again'.
                format(user.email))
            LOG.debug(traceback.print_exc())
            response_object = {
                'status': 'fail',
                'message': 'Try again',
            }
            return response_object, 500
예제 #4
0
    def __init__(self, user, amount, api_response):
        self.username = user.username
        self.amount = amount
        self.api_response = api_response

        async_send_mail(
            current_app._get_current_object(), user.email, "Thanks from Ambit",
            """
                        We are very grateful to you.""")
예제 #5
0
    def send_verification(email):
        try:
            user = User.query.filter_by(email=email).first()
            if user is None:
                response_object = {
                    'status': 'error',
                    'message': 'User not present'
                }
                return response_object, 401

            if user.isVerified():
                response_object = {
                    'status': 'Error',
                    'message': 'Already verified'
                }
                return response_object, 403

            token = generate_confirmation_token(user.email)
            subject = "Minerva: Please confirm Email Address"
            confirm_url = url_for('api.auth_confirm_token',
                                  token=token,
                                  _external=True)
            print("Confirmation URL for {}: {}".format(user.username,
                                                       confirm_url))
            async_send_mail(
                app._get_current_object(), user.email, subject,
                f"""Hey {user.username}<br/><br/>
Please use the below link to confirm your email address.<br/></br>
{confirm_url}<br/><br/><br/>
Minerva""")

            response_object = {
                'status': 'Success',
                'Message': 'Verification Mail Sent successfully'
            }
            return response_object, 200

        except BaseException:
            LOG.error(
                'Verification Mail couldn\'t be sent to {}. Please try again'.
                format(email),
                exc_info=True)
            response_object = {
                'status': 'fail',
                'message': 'Try again',
            }

            return response_object, 500
예제 #6
0
    def reset_password_mail(data):
        try:
            user = User.query.filter_by(email=data.get('email')).first()
            if user is None:
                LOG.info('User with email {} isn\'t registered.'.format(
                    data.get('email')))

                response_object = {
                    'status': 'fail',
                    'message': 'User is not registered'
                }
                return response_object, 401
            else:
                reset_token = generate_reset_token(data.get('email'))
                subject = "Minerva: Reset Password"
                reset_url = url_for('api.auth_reset_token_verify',
                                    token=reset_token,
                                    _external=True)
                async_send_mail(
                    app._get_current_object(), data.get('email'), subject,
                    f"""Hey {user.username}<br/><br/>
Please use the below link to reset your password.<br/></br>
{reset_url}<br/><br/><br/>
Minerva""")

            response_object = {
                'status':
                'Success',
                'message':
                'sent a password reset link on your registered email address.'
            }
            return response_object, 200
        except BaseException:
            LOG.error(
                'Verification Mail couldn\'t be sent to {}. Please try again'.
                format(data.get('email')),
                exc_info=True)
            response_object = {
                'status': 'fail',
                'message': 'Try again',
            }
            return response_object, 500