用flask开发个人博客(24)—— flask中使用Flask_Mail发送电子邮件
来源:互联网 发布:微信搜索引擎优化 编辑:程序博客网 时间:2024/05/16 23:49
flask中使用Flask-Mail提供对电子邮件的支持,下面将分步骤测试flask中发送电子邮件的功能:
1 配置SMTP服务器的信息
我们需要借助flask程序实例app的config属性来配置电子邮件的SMTP服务器信息,其中主要的配置选项包括服务器的地址MAIL_SERVER\端口号MAIL_PORT\用户名MAIL_USERNAME\密码MAIL_PASSWORD.下面以QQ邮箱为例发送电子邮件.
import os #... app.config['MAIL_SERVER']='smtp.qq.com' app.config['MAIL_PORT']=587 app.config['MAIL_USE_TLS']=True app.config['MAIL_USERNAME']=os.environ.get('MAIL_USERNAME') app.config['MAIL_PASSWORD']=os.environ.get('MAIL_PASSWORD')这里我们将用户名和密码保存在名为MAIL_USERNAME和MAIL_PASSWORD的环境变量中,然后设置相应的环境变量即可.注意app.config['MAIL_USE_TLS']=True这句代码,因为我们用的端口是587,为TLS(传输层安全协议)的安全端口,所以设置传输层安全协议生效.
2 创建电子邮件Mail实例
from flask_mail import Mailmail=Mail(app)
3 配置所需要的环境变量
export MAIL_USERNAME=XXX@qq.comexport MAIL_PASSWORD=XXXXX
4 在python shell中发送电子邮件
from flask.ext.mail import Messagefrom test import mailmsg=Message('My Subject',sender='879651072@qq.com',recipients=['879651072@qq.com'])msg.body='text body'msg.html='<b>HTML</b> body'with app.app_context(): mail.send(msg)效果如图:
Github位置:
https://github.com/HymanLiuTS/flaskTs
git clone git@github.com:HymanLiuTS/flaskTs.git
获取本文源代码:
git checkout FL24
0 0
- 用flask开发个人博客(24)—— flask中使用Flask_Mail发送电子邮件
- 用flask开发个人博客(14)—— flask中本地化时间的引用
- 用flask开发个人博客(4)—— flask中4种全局变量
- 用flask开发个人博客(7)—— flask中设置和获取cookie
- 用flask开发个人博客(39)—— 在flask中定义Rest API
- 用flask开发个人博客(22)—— 使用Flask-Migrate实现数据库的更新
- 用flask开发个人博客(37)—— 使用Flask-pagedown实现博客文章预览的功能
- 用flask开发个人博客(1)—— 一个简单的flask程序
- 用flask开发个人博客(2)—— Flask中的请求对象request
- 用flask开发个人博客(3)—— flask中的请求和视图函数映射
- 用flask开发个人博客(5)——flask中的四种响应类型
- 用flask开发个人博客(6)—— 为flask程序添加命令行解释器
- 用flask开发个人博客(8)—— flask中的模板
- 用flask开发个人博客(15)—— flask中四种请求钩子
- 用flask开发个人博客(23)—— flask中的数据模型关系
- 用flask开发个人博客(35)—— flask中的上下文处理器app_context_processor
- 用flask开发个人博客(40)—— Flask中三种测试方法
- 用flask开发个人博客(36)—— 使用SQLAlchemy对博客文章进行分页
- poj 1951 Extra Krunch 字符串处理水题
- Palindrome Permutation II
- 如何改变所发请求的IP
- Leetcode 274. H-Index & 275. H-Index II
- 配置魔药(DP)
- 用flask开发个人博客(24)—— flask中使用Flask_Mail发送电子邮件
- Xcode 8 下使用 Swift2.3
- git push首次提交报错问题解决
- 教你摸清 Linux PC 的性能底细?
- 怎么使用树莓派和 iPad Pro 备份图片
- Scala与Golang的并发实现对比----好问
- Leetcode 297. Serialize and Deserialize Binary Tree
- java用JBarcode组件生成条形码
- 插入排序