Flask-Mail Mail()实例化两次
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask-Mail Mail()实例化两次相关的知识,希望对你有一定的参考价值。
我想了解这个教程code。
from flask import Flask
from flask_mail import Mail, Message
app =Flask(__name__)
mail=Mail(app) # <-- This
app.config['MAIL_SERVER']='smtp.gmail.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USERNAME'] = 'yourId@gmail.com'
app.config['MAIL_PASSWORD'] = '*****'
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
mail = Mail(app) # <-- This
@app.route("/")
def index():
msg = Message('Hello', sender = 'yourId@gmail.com', recipients = ['id1@gmail.com'])
msg.body = "Hello Flask message sent from Flask-Mail"
mail.send(msg)
return "Sent"
if __name__ == '__main__':
app.run(debug = True)
在第5行和第13行,Mail对象被实例化并分配给邮件。即使我在第5行注释掉第一个实例,我仍然可以发送电子邮件,所以我可以说这只是一个错字,还是有必要的?
答案
不需要第一个mail=Mail(app)
。 Mail()
constructor的主要功能是阅读应用程序配置。因此,由于在第5行之前没有设置适当的app配置变量,所以第一个Mail()
对象可能甚至不起作用。
以上是关于Flask-Mail Mail()实例化两次的主要内容,如果未能解决你的问题,请参考以下文章