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 相关文章推荐
以一段代码为实例快速入门Python2.7
Mar 31 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
Apr 18 Python
Python 忽略warning的输出方法
Oct 18 Python
Python根据文件名批量转移图片的方法
Oct 21 Python
Python在图片中插入大量文字并且自动换行
Jan 02 Python
Python3.7安装keras和TensorFlow的教程图解
Jun 18 Python
keras获得某一层或者某层权重的输出实例
Jan 24 Python
tensorflow 实现数据类型转换
Feb 17 Python
使用pth文件添加Python环境变量方式
May 26 Python
深入了解Python 变量作用域
Jul 24 Python
Pycharm 2020.1 版配置优化的详细教程
Aug 07 Python
Python Django路径配置实现过程解析
Nov 05 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 服务器调试 Zend Debugger 的安装教程
2009/09/25 PHP
抓取并下载CSS中所有图片文件的php代码
2011/09/26 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
2016/10/26 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
js计数器代码
2006/11/04 Javascript
jquery 选项卡效果 新手代码
2011/07/08 Javascript
javascript之bind使用介绍
2011/10/09 Javascript
js调用activeX获取u盘序列号的代码
2011/11/21 Javascript
基于jquery的拖动布局插件
2011/11/25 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
ScrollDown的基本操作示例
2013/06/09 Javascript
jQuery中;function($,undefined) 前面的分号的用处
2014/12/17 Javascript
JavaScript中实现依赖注入的思路分享
2015/01/15 Javascript
JavaScript 性能优化小结
2015/10/12 Javascript
js轮播图代码分享
2016/07/14 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
angular内置provider之$compileProvider详解
2017/09/27 Javascript
vue2.0+koa2+mongodb实现注册登录
2018/04/10 Javascript
WebSocket的通信过程与实现方法详解
2018/04/29 Javascript
Node.js Express安装与使用教程
2018/05/11 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
vue实现可移动的悬浮按钮
2021/03/04 Vue.js
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
对Python的多进程锁的使用方法详解
2019/02/18 Python
一文了解Python并发编程的工程实现方法
2019/05/31 Python
Python实现微信好友的数据分析
2019/12/16 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
python中sys模块是做什么用的
2020/08/16 Python
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
我的中国心演讲稿
2014/09/04 职场文书
商业计划书范文
2019/04/24 职场文书
pycharm无法导入lxml的解决办法
2021/03/31 Python
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL