Flask -Расширение flask почты не работает в структуре фабрики приложений - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь настроить расширение flask -mail в фабрике приложений, чтобы отправлять почту из разных файлов .py, но я не могу этого сделать. Я знаю, что моя конфигурация верна, потому что у меня были такие же config при использовании однофайловой структуры __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

1 Ответ

2 голосов
/ 11 июля 2020

Посмотрев на импорт, вы забыли добавить туда объект Message.

Если это единственная ошибка, которую вы получаете, следующая строка должна решить проблему.

dev.py

from flask-mail import Message

...