烧瓶的Flask-Mail扩展在应用程序工厂结构中不起作用

时间:2020-07-10 20:17:01

标签: python email flask flask-mail

我想做的是在应用程序工厂中配置我的flask-mail扩展名,以便从不同的.py文件发送邮件,但是我做不到。我知道我的配置是正确的,因为我有相同的配置设置使用单个文件结构时 Rcpp

__init__.py

以及我愿意从以下位置发送电子邮件的文件: dev.py

from flask import Flask
from flask_mail import Mail,Message
def create_app():
    mail = Mail()
    app.config['MAIL_SERVER']='smtp.gmail.com'
    app.config['MAIL_PORT']=465
    app.config['MAIL_USE_SSL']=True
    app.config['MAIL_USERNAME'] = ''
    app.config['MAIL_PASSWORD'] = ''
    app.config['MAIL_DEFAULT_SENDER'] = ''
    app.config['MAIL_USE_TLS'] = False 
    mail.init_app(app)
    return app

我收到的错误如下:

from flask import *
@bp.route('/login',methods=['GET','POST'])
def login():
    if request.method == 'POST':
        emailid = request.form['emailid']
        msg = Message('Password Change', sender = '')
        msg.add_recipient(emailid)
        msg.html = "<b>MADHAV</b>"
        mail.send(msg)

1 个答案:

答案 0 :(得分:2)

通过查看导入,您忘记了在其中添加Message对象。

如果这是您遇到的唯一错误,那么以下一行应可以解决问题。

dev.py

from flask-mail import Message