File size: 898 Bytes
a8eb386 |
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 |
from threading import Thread
from flask import current_app
from flask_mail import Message
from detectweb import mail
# 异步发送邮件函数
def send_async_email(app, msg):
with app.app_context():
mail.send(msg)
def send_email(subject, recipients, text_body, html_body):
# subject主题,接收者,
msg = Message(
subject=subject,
recipients=recipients,
reply_to='[email protected]' # 不写sender而写reply_to,使得收到的邮件都被这个邮箱自动删除
)
# 文本body
msg.body = text_body
# 看收到邮件的客户端,如果不支持html格式显示,那就用text显示
msg.html = html_body
# 多线程发送,为了点击发送邮件后不卡住,大概会卡住3-4秒等待邮件去发
Thread(
target=send_async_email,
args=(current_app._get_current_object(), msg)).start()
|