1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| 1. 首先配置服务器地址,在config.py里面配置 MAIL_SERVER = os.environ.get("MAIL_SERVER") MAIL_PORT = os.environ.get("MAIL_PORT") or 25 MAIL_USE_TLS = os.environ.get("MAIL_USE_TLS") is not None MAIL_USERNAME = os.environ.get("MAIL_USERNAME") MAIL_PASSWORD = os.environ.get("MAIL_PASSWORD")
2. 开发发送邮件的函数, email.py
def send_async_email(app,msg): with app.app_context(): mail.send(msg)
def send_email(subject,sender,recipients,text_body,html_body): msg = Message(subject,sender=sender,recipients=recipients) msg.body = text_body msg.html = html_body Thread(target=send_async_email, args=(app,msg)).start()
def send_password_reset_email(user): token = user.generate_token() send_email("【重置你的密码】",sender=app.config['MAIL_USERNAME'],recipients=[user.email], text_body=render_template('email/reset_password.txt',user=user,token=token), html_body = render_template('email/reset_password.html',user=user,token=token))
|