Я пытаюсь отправить электронное письмо, используя флеш-почту, и вот фрагмент кода, который я должен использовать для отправки почты
def send_async_email(app, msg):
with app.app_context():
mail.send(msg)
def send_email(subject, recipients, text_body=None, html_body=None):
msg = Message(subject, recipients=recipients)
msg.body = text_body
msg.html = html_body
thr = Thread(target=send_async_email, args=[current_app, msg])
thr.start()
При выполнении этого кода я получаю следующую ошибку
Exception in thread Thread-9:
Traceback (most recent call last):
File "C:\Python37\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "C:\Python37\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "..\flask_demo\flaskdemo\common_utils.py", line 7, in send_async_email
with app.app_context():
File "..\flask_demo\venv\lib\site-packages\werkzeug\local.py", line 348, in __getattr__
return getattr(self._get_current_object(), name)
File "..\flask_demo\venv\lib\site-packages\werkzeug\local.py", line 307, in _get_current_object
return self.__local()
File "..\flask_demo\venv\lib\site-packages\flask\globals.py", line 51, in _find_app
raise RuntimeError(_app_ctx_err_msg)
RuntimeError: Working outside of application context.
This typically means that you attempted to use functionality that needed
to interface with the current application object in some way. To solve
this, set up an application context with app.app_context(). See the
documentation for more information.