Python Flask非同步傳送郵件實現方法解析

2022-10-04 13:51:38 字數 1250 閱讀 9824

第一步,修改工廠函式,配置郵件引數

from flask import flask

from config import config

from flask_sqlalchemy import sqlalchemy

from flask_mail import mail

db = sqlalchemy()

mail = mail()

deijxpcpxdqf create_app():

app = flask(__name__)

app.config.from_object(config)

db.init_app(app)

mail.init_app(app) from .controller import controller

app.register_blueprint(controller)

return app

第二步,新建乙個執行緒來傳送郵件

from flask import current_app, render_template

from flask_mail import message

from threading import thread

from main import mail

def send_async_email(app, mwww.cppcns.comsg):

with app.app_context():

mail.send(msg)

def send_email(to程式設計客棧, subject, template = 'index', **kwargs):

app = current_app._get_current_object()

msg = message(subject, sender = app.config['mail_username'], recipients = [to])

msg.htmijxpcpxdql = render_template('{}.html'.format(template), **kwargs)

thr = thread(target = send_async_email, args = [app, msg])

thr.start()

return thr

從current_app的_get_current_object()方法拿到應用程式上下文。特此記錄一下

本文標題: python flask非同步傳送郵件實現方法解析

本文位址:

python Flask(四) 郵件傳送

電子郵件傳送和接收的過程 flask mail傳送郵件的配置資訊 配置傳送郵件的相關資訊 指定郵件伺服器的網域名稱或者ip 指定埠,預設25,但qq郵箱預設為 埠號465或587 此處的密碼並非郵箱登入密碼,而是開啟pop3 def send mail to,subject,info msg mes...

Python Flask後端非同步處理(三)

前一篇博文我們已經將基礎知識和環境配置進行了介紹 本篇博文在實際應用場景中使用celery,對flask後端進行非同步處理。首先編寫乙個celerytask.py檔案進行celery的配置,同時耗時任務也寫在該檔案中 from celery import celery from szheconsol...

Python Flask後端非同步處理(二)

在實際的應用場景中,如使用者註冊,使用者輸入了註冊資訊後,後端儲存資訊到資料庫中,然後跳轉至登入介面,這些操作使用者需要等待的時間非常短,但是如果是有耗時任務,比如對輸入的 進行漏洞掃瞄,在後端處理就會花費幾分鐘的時間,不可能讓使用者等待頁面重新整理幾分鐘,所以需要進行後端非同步處理。之前使用的後端...