Доброго дня, подскажите как решить проблему с Flask-Mail:
Вот код ошибки:
Exception in thread Thread-14:
Traceback (most recent call last):
File "C:\Users\roman\AppData\Local\Programs\Python\Python37-32\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "C:\Users\roman\AppData\Local\Programs\Python\Python37-32\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "D:\Работа\Git\LD-Web\LD-Site\app\controllers\mail.py", line 10, in send_async_email
mail.send(msg)
AttributeError: module 'app.mail' has no attribute 'send'
Код mail.py
from threading import Thread
from flask_mail import Message
from app import app
from app import mail
def send_async_email(application, msg):
with application.app_context():
mail.send(msg)
def send_email(subject, sender, recipients, text_body, html_body, attachments=None, sync=False):
msg = Message(subject, sender=sender, recipients=recipients)
msg.body = text_body
msg.html = html_body
if attachments:
for attachment in attachments:
msg.attach(*attachment)
if sync:
mail.send(msg)
else:
Thread(target=send_async_email, args=(app, msg)).start()
__init__
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_session import Session
from flask_login import LoginManager
from flask_mail import Mail
from flask_moment import Moment
from config import Config
from app.database.database import init_db
import logging
from logging.handlers import SMTPHandler, RotatingFileHandler
import os
db = SQLAlchemy()
session = Session()
moment = Moment()
login = LoginManager()
mail = Mail()
login.login_view = 'login'
def create_app(config_class=Config):
app = Flask(__name__)
app.config.from_object(config_class)
session.init_app(app)
db.init_app(app)
login.init_app(app)
mail.init_app(app)
moment.init_app(app)
return app
app = create_app()
from .views import *
from .models import *