Exemplo n.º 1
0
def SendResetPasswordEmailCustomer(req: SendResetPasswordEmailReq):
    smtp.login(app.config['MAIL_USERNAME'], app.config['MAIL_PASSWORD'])
    account = AccountRep.GetAccountByCustomerEmail(req)
    secect_key = app.config['SECRET_KEY']
    payload = {
        'account_id': account['account_id'],
        'iat': datetime.utcnow(),
        'exp': datetime.utcnow() + timedelta(minutes=300000)
    }
    reset_email_token = jwt.encode(payload, secect_key).decode('utf-8')

    msg = EmailMessage()
    msg['Subject'] = 'Khôi phục mật khẩu Thư quán Đại học Mở TPHCM'
    msg['From'] = app.config['MAIL_USERNAME']
    msg['To'] = req.email
    msg.set_content(f'''    Gửi {app.config['MAIL_USERNAME']},
    Bạn (hoặc một ai đó) đang muốn khôi phục mật khẩu của tài khoản [email protected].
    Nếu là bạn, hãy bấm vào liên kết bên dưới để khôi phục mật khẩu: (có hiệu lực trong 24 giờ)

    http://localhost:4200/reset-password?token={reset_email_token}
    Nếu không phải bạn, hãy bỏ qua email này.

    Đội ngũ quản lý thư quán Đại học Mở TPHCM!
''')
    smtp.send_message(msg)
    return " Vui lòng kiểm tra email để reset mật khẩu"
def SendMessageForLate(req: SendEmailForLateBorrowTicketReq):
    smtp.login(app.config['MAIL_USERNAME'], app.config['MAIL_PASSWORD'])
    msg = EmailMessage()
    msg['Subject'] = 'Thư gửi nhắc nhở hạn trả sách'
    msg['From'] = app.config['MAIL_USERNAME']
    msg['To'] = req.customer_email
    msg.set_content(
        f'''    Gửi {app.config['MAIL_USERNAME']},

    {req.message}.
    
    Nếu không phải bạn, hãy bỏ qua email này.

    Rất mong nhận được sự hợp tác từ bạn.
    Chúng tôi xin trân trọng cảm ơn!

    Đội ngũ quản lý thư quán Đại học Mở TPHCM!
''')
    smtp.send_message(msg)
    return " Vui lòng kiểm tra email để reset mật khẩu"