Flask-Mail用法实例分析


Posted in Python onJuly 21, 2018

本文实例讲述了Flask-Mail用法。分享给大家供大家参考,具体如下:

很多类型的应用程序都需要在特定事件发生时提醒用户,而常用的通信方法是电子邮件。

虽然 Python 标准库中的 smtplib 包可用在 Flask 程序中发送电子邮件,但包装了 smtplib

Flask-Mail 扩展能更好地和 Flask 集成

安装

pip3 install flask-mail

Flask-Mail SMTP服务器的配置

配置 默认值 说明
MAIL_SERVER localhost 电子邮件服务器的主机名或IP地址
MAIL_PORT 25 电子邮件服务器的端口
MAIL_USE_TLS False 启用传输层安全协议
MAIL_USE_SSL False 启用安全套接层协议
MAIL_USERNAME None 邮件账户的用户名
MAIL_PASSWORD None 邮件账户的密码

代码示例

from threading import Thread
from flask import Flask
from flask_mail import Mail,Message
app = Flask(__name__)
app.config["MAIL_SERVER"] = "smtp.163.com"
app.config["MAIL_PORT"] = 465
app.config["MAIL_USE_SSL"] = True
app.config["MAIL_USERNAME"] = "xxxxx@163.com"
app.config["MAIL_PASSWORD"] = "123456"
mail = Mail(app)
@app.route("/send_mail")
def send_mail():
  """
  发送邮件
  """
  message = Message("标题",sender=app.config["USERNAME"],recipients=["xxxxxx@qq.com"])
  message.body = "内容"
  t = Thread(target=send_email,args=(message,))
  t.start()
  return "发送成功"
def send_email(msg):
  with app.app_context():
    mail.send(msg)
if __name__ == "__main__":
  app.run()

Message:邮件消息,sender:发送者邮箱;recipients:接收者邮箱,列表格式;body:内容

网易163免费邮箱相关服务器信息

Flask-Mail用法实例分析

使用网易邮箱作为发送者邮箱时应注意,邮箱密码并非为邮箱的登录密码,而是客户端授权密码。

希望本文所述对大家基于flask框架的Python程序设计有所帮助。

Python 相关文章推荐
python数组复制拷贝的实现方法
Jun 09 Python
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
Python中MySQLdb和torndb模块对MySQL的断连问题处理
Nov 09 Python
python中的编码知识整理汇总
Jan 26 Python
python基础while循环及if判断的实例讲解
Aug 25 Python
Python分支结构(switch)操作简介
Jan 17 Python
解决python3 urllib 链接中有中文的问题
Jul 16 Python
Python构建图像分类识别器的方法
Jan 12 Python
python如何爬取网站数据并进行数据可视化
Jul 08 Python
python 将日期戳(五位数时间)转换为标准时间
Jul 11 Python
关于Python错误重试方法总结
Jan 03 Python
python内置进制转换函数的操作
Jun 02 Python
python实现傅里叶级数展开的实现
Jul 21 #Python
Python实现快速傅里叶变换的方法(FFT)
Jul 21 #Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 #Python
opencv python 傅里叶变换的使用
Jul 21 #Python
Numpy中的mask的使用
Jul 21 #Python
Flask框架使用DBUtils模块连接数据库操作示例
Jul 20 #Python
Flask框架WTForm表单用法示例
Jul 20 #Python
You might like
PHP中显示格式化的用户输入
2006/10/09 PHP
PHP与已存在的Java应用程序集成
2006/10/09 PHP
纯php打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
php中一个有意思的日期逻辑处理
2012/03/25 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
php实现字符串首字母转换成大写的方法
2015/03/17 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
Laravel学习教程之request validation的编写
2017/10/25 PHP
php实现的简单多进程服务器类完整示例
2020/02/01 PHP
JQuery 操作select标签实现代码
2010/05/14 Javascript
jQuery在vs2008及js文件中的无智能提示的解决方法
2010/12/30 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
2011/09/05 Javascript
js语法学习之判断一个对象是否为数组
2014/05/13 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
谈谈我对JavaScript DOM事件的理解
2015/12/18 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
getElementById().innerHTML与getElementById().value的区别
2016/10/27 Javascript
Vue.js组件tree实现省市多级联动
2016/12/02 Javascript
Angular在一个页面中使用两个ng-app的方法
2017/02/20 Javascript
vue接入腾讯防水墙代码
2019/05/07 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
vuex的使用步骤
2021/01/06 Vue.js
python计算牛顿迭代多项式实例分析
2015/05/07 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
django将图片上传数据库后在前端显式的方法
2018/05/25 Python
一篇文章搞懂Python的类与对象名称空间
2018/12/10 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
CSS3之边框多颜色Border-color属性使用示例
2013/10/11 HTML / CSS
丝芙兰法国官网:SEPHORA法国
2016/09/01 全球购物
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
老公给老婆的道歉信
2014/01/10 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js