Flask学习记录之Flask-Mail

Flask-Mail可以连接到配置中的SMTP服务器,进行邮件发送,如果没有进行SMTP服务器的配置,将会默认连接到localhost上的

一.配置及初始化

(1)flask应用配置

#配置选项
MAIL_SERVER = ‘smtp.qq.com‘ #邮件服务器
MAIL_PORT = 25 #端口
MAIL_USE_TLS = False#传输层安全协议
MAIL_USE_SSL = False #安全套接层协议
MAIL_USERNAME = ‘you‘ #账号
MAIL_PASSWORD = ‘your-password‘#密码

(2)初始化

from flask.ext.mail import Mail
from flask import Flask

app = Flask(__name__)
mail = Mail(app)

二.发送邮件

from flask.ext.mail import Message
from app import mail

#创建一封邮件
msg = Message("邮件主题",
                sender=‘[email protected]‘,
                recipients=[‘[email protected]‘,‘[email protected]‘]
                )
msg.body = ‘文本内容‘
msg.html = ‘<b>HTml内容</b>‘

#发送邮件,flask-mail需要在current_app上下文中发送邮件
with app.app_context():
    mail.send(msg)

辅助邮件发送函数

def send_email(to, subject, template, **kwargs):
    app = current_app._get_current_object()
    msg = Message(subject,
                  sender= ‘[email protected]‘,
                  recipients=[to])
    msg.body = render_template(template + ‘.txt‘, **kwargs)
    msg.html = render_template(template + ‘.html‘, **kwargs)
    #在新线程中发送邮件
    thr = Thread(target=send_async_mail, args=[app, msg])
    thr.start()
    return thr

#异步发送邮件,加快速度
def send_async_mail(app, msg):
    with app.app_context():
        mail.send(msg)
时间: 2024-10-13 22:20:14

Flask学习记录之Flask-Mail的相关文章

[ZHUAN]Flask学习记录之Flask-SQLAlchemy

From: http://www.cnblogs.com/agmcs/p/4445583.html Flask-SQLAlchemy库让flask更方便的使用SQLALchemy,是一个强大的关系形数据库框架,既可以使用orm方式操作数据库,也可以使用原始的SQL命令. Flask-Migrate 是一个数据迁移框架,需要通过Flask-script库来操作. 一.配置Flask-SQLAlchemy 程序使用的数据库地址需要配置在SQLALCHEMY_DATABASE_URI中,SQLALch

Flask学习记录

Flask是一个使用Python编写的轻量级web框架,相比其他框架如Django更加简单易学.本文将实现一个简单示例,完成以下功能:从数据库中读取用户信息,在浏览器中分页展示,添加分页导航栏,并且实现根据用户名搜索.用到的主要知识点:数据库操作.表单.Jinja2模板. 学习环境搭建 操作系统 CentOS Linux release 7.4.1708 (Core) 执行yum update -y然后重启系统,确保软件包处于最新状态. Python版本 2.7.5 安装Python虚拟环境 利

Flask学习记录之MarkDown编辑文本

为了让网页支持markdown编辑文本,使用如下了4个库 PageDown : 在前端提供一个可以实时将markdown内容转换成html文本进行效果预览的编辑器 Flask-PageDown: 这个库将PageDown集成到Flask-Wtf库中,更方便使用 MarkDown: 将MarkDown标记文本转换为Html文本 Bleach: 基于白名单清除Html文本中不安全的标签 PageDown的使用 和其他类库相识,需要初始化 from flask.ext.pagedown import

Flask学习记录之Flask-Admin

相信用过Django框架的都不会忘记它强大的Admin功能,Flask-admin是一款能够与Django Admin所媲美的扩展,能够快速创建Web管理界面,实现了用户.文件增删改查等常用功能:也可以通过修改模板文件来定制管理页面. 初始化: from flask import Flask from flask_admin import Admin app = Flask(__name__) admin = Admin(app) # Add administrative views here

Flask学习记录之Flask-SQLAlchemy,Flask-Migrate

Flask-SQLAlchemy库让flask更方便的使用SQLALchemy,是一个强大的关系形数据库框架,既可以使用orm方式操作数据库,也可以使用原始的SQL命令. Flask-Migrate 是一个数据迁移框架,需要通过Flask-script库来操作. 一.配置Flask-SQLAlchemy 程序使用的数据库地址需要配置在SQLALCHEMY_DATABASE_URI中,SQLALchemy支持多种数据库,配置格式如下: Postgres: postgresql://scott:[e

Flask学习记录之Flask-Moment

Moment.js 是一个简单易用的轻量级JavaScript日期处理类库,提供了日期格式化.日期解析等功能.它支持在浏览器和NodeJS两种环境中运行.此类库能够 将给定的任意日期转换成多种不同的格式,具有强大的日期计算功能,同时也内置了能显示多样的日期形式的函数.另外,它也支持多种语言,你可以任意新增一种 新的语言包. Flask-Moment是一个集成moment.js到Jinja2模板的Flask扩展. 一.初始化Flask-Moment from flask.ext.moment im

Flask学习记录之Flask-Migrate

一.配置Flask-Migrate from flask.ext.migrate import Migrate, MigrateCommand migrate = Migrate(app,db) #第一个参数是Flask的实例,第二个参数是Sqlalchemy数据库实例 manager.add_command('db', MigrateCommand) #manaer 是Flask-Script的实例,这条语句在flask-script 中添加一个db命令 二.使用Flask-Migrate 在

Flask学习记录之使用Werkzeug散列密码

数据库中直接存放明文密码是很危险的,Werkzeug库中的security能够方便的实现散列密码的计算 security库中 generate_password_hash(password,method...)函数将原始密码作为输入,以字符串形式输出密码的散列值 check_password_hash(hash,password)函数检查给出的hash密码与明文密码是否相符 应用在用户模型中 from werkzeug.security import check_password_hash,ge

flask学习(三):flask入门(URL)

一. flask简介 flask是一款非常流行的python web框架,出生于2010年,作者是Armin Ronacher,本来这个项目只是作者在愚人节的一个玩笑,后来由于非常受欢迎,进而成为一个正式的项目.目前为止最新的版本是1.0.2 flask自2010年发布第一个版本以来,大受欢迎,深得开发者的喜爱,并且在多个公司已经得到了应用,flask能如此流行的原因,可以分为以下几点: 微框架.简洁.只做他需要做的,给开发提供了很大的扩展性 flask和相关的依赖(Jinja2.Werkzeu