首页 > 解决方案 > 烧瓶的烧瓶邮件扩展在应用程序工厂结构中不起作用

问题描述

我想要做的是在应用程序工厂中配置我的烧瓶邮件扩展,以便从不同的 .py 文件发送邮件,但我无法这样做。我知道我的配置是正确的,因为我在使用单个文件时具有相同的配置设置文件结构 __init__.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

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

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)

我收到的错误如下:

NameError: name 'Message' is not defined

标签: pythonemailflaskflask-mail

解决方案


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

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

开发者.py

from flask-mail import Message


推荐阅读