Python Flask异步发送邮件实现方法解析
作者:viewts 发布时间:2023-08-15 04:29:12
标签:Python,Flask,异步,邮件
第一步,修改工厂函数,配置邮件参数
from flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_mail import Mail
db = SQLAlchemy()
mail = Mail()
def 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, msg):
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.html = render_template('{}.html'.format(template), **kwargs)
thr = Thread(target = send_async_email, args = [app, msg])
thr.start()
return thr
从current_app的_get_current_object()方法拿到应用程序上下文。特此记录一下
来源:https://www.cnblogs.com/viewts/p/13274436.html
0
投稿
猜你喜欢
- 如何编写一个只在Web服务关闭时执行的程序?如:<SCRIPT LANGUAGE="VBScript"&
- 天天敲代码的朋友,有没有想过代码也可以变得很酷炫又浪漫?今天就教大家用Python模拟出绽放的烟花,工作之余也可以随时让程序为自己放一场烟花
- 本站收集的js实现的同步动态显示当前日期,时间和星期几的代码,我经常用在自己做的企业网站的后台,方便嘛。效果可以看看本站的首页,呵呵!而且代
- isset(PHP 3, PHP 4, PHP 5 )isset -- 检测变量是否设置描述bool isset ( mixed var [
- 用比较笨的方法来做abc ="AlkjA;lkjlkjAlkAkjAlkjAAAA" if instr(abc,&quo
- 本文实例讲述了Python实现二分查找算法的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/env pythonimpo
- Python语言功能非常强大,除了类之外,还有模块和包的概念,这有点像perl,此处简单说说包和模块。一、Python中的模块模块——其实就
- 从最基础的说起。本教程中,所有IE 均指 WindowXP + IE 6.0, 所有 FF 均指 FF 1.5。1. 不用编程的部分1.1
- 接管Dingo-api的错误如上图所示,AppServiceProvider.php中的register()方法中添加如下代码\API::e
- Window.Open详解 一、window.open()支持环境:JavaScript1.0+/JScript1.0+/Nav2
- 本文实例讲述了Python实现批量下载图片的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/env python#-*-
- 本文实例总结了PHP图像处理技术。分享给大家供大家参考,具体如下:1、绘图场景: 验证码、图像水印、图像压缩处理php绘图坐标体系是从0,0
- 比如有一个需求,通过sql语句,返回-5至5的随机整数.如果这一个放在PHP中,则非常简单直接用print rand(-5,5);?>
- 讲这个方法之前,我们应该先了解下插入节点时浏览器会做什么。在浏览器中,我们一旦把节点添加到document.body(或者其他节点)中,页面
- 示例下面是一个简单的Python爬虫Scrapy框架代码示例,该代码可以抓取百度搜索结果页面中指定关键字的链接和标题等信息:import s
- Pandas的apply函数概念(图解)实例1:怎样对数值按分组的归一化实例2:怎样取每个分组的TOPN数据来源:https://blog.
- 英文文档:vars([object])Return the __dict__ attribute for a module, class,
- 在原txt文件中,我们需要匹配出的字符串为:休闲服务(中间参杂着换行)直接复制到notebook里进行处理①发现需要拿出的字符串都在证卷研究
- HTML文档与CSS的关联常见有4种方式:1.使用link标记<link rel="stylesheet"
- 安装pillow(python的图形界面库)第一种方法在Dos界面输入pip install pillow(但是不知为何总是失败);搞了好几