Flask mail:如何一次处理多个电子邮件请求
因此,我为我的应用程序编写了一个专用的flask应用程序来处理电子邮件,并将其部署在heroku上。我在其中设置了发送电子邮件的路线:Flask mail:如何一次处理多个电子邮件请求,flask,flask-mail,Flask,Flask Mail,因此,我为我的应用程序编写了一个专用的flask应用程序来处理电子邮件,并将其部署在heroku上。我在其中设置了发送电子邮件的路线: @app.route('/send', methods=['POST']) def send_now(): with app.app_context(): values = request.get_json() email = values['email'] code = values['code'] se
@app.route('/send', methods=['POST'])
def send_now():
with app.app_context():
values = request.get_json()
email = values['email']
code = values['code']
secret_2 = str(values['secret'])
mail = Mail(app)
msg = Message("Password Recovery",sender="no*****@gmail.com",recipients=[email])
msg.html = "<h1>Your Recovery Code is: </h1><p>"+str(code)+"</p>"
if secret == secret_2:
mail.send(msg)
response = {'message': 'EmailSent'}
return jsonify(response), 201
@app.route('/send',methods=['POST'])
def send_now():
使用app.app_context():
values=request.get_json()
电子邮件=值['email']
代码=值['code']
secret_2=str(值['secret'])
邮件=邮件(应用程序)
msg=Message(“密码恢复”,sender=“no******@gmail.com”,recipients=[电子邮件])
msg.html=“您的恢复代码是:”+str(代码)+“”
如果secret==secret_2:
邮件发送(msg)
响应={'message':'EmailSent'}
返回jsonify(响应),201
它一次只对一个用户有效,但是当多个用户发送POST请求时,客户端用户需要等待POST返回201。因此,等待时间持续增加(它甚至可能不发送)。那么,我该如何处理这一问题,以便同时容纳多个用户呢。线程?缓冲器我不知道您需要在Python中通过异步线程调用发送邮件。看看这个代码示例并在代码中实现
from threading import Thread
from app import app
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
thr = Thread(target=send_async_email, args=[app, msg])
thr.start()
这将允许在后台发送邮件