用flask开发个人博客(24)—— flask中使用Flask_Mail发送电子邮件
2016-10-07 10:02
417 查看
flask中使用Flask-Mail提供对电子邮件的支持,下面将分步骤测试flask中发送电子邮件的功能:
Github位置:
https://github.com/HymanLiuTS/flaskTs
克隆本项目:
git clone git@github.com:HymanLiuTS/flaskTs.git
获取本文源代码:
git checkout FL24
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 Mail mail=Mail(app)
3 配置所需要的环境变量
export MAIL_USERNAME=XXX@qq.com export MAIL_PASSWORD=XXXXX
4 在python shell中发送电子邮件
from flask.ext.mail import Message from test import mail msg=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
相关文章推荐
- 用flask开发个人博客(38)—— 使用MarkDown实现博客文章存储成富文本格式
- 用flask开发个人博客(37)—— 使用Flask-pagedown实现博客文章预览的功能
- 用flask开发个人博客(16)—— 表单类的使用
- 用flask开发个人博客(36)—— 使用SQLAlchemy对博客文章进行分页
- 用flask开发个人博客(22)—— 使用Flask-Migrate实现数据库的更新
- 用flask开发个人博客(33)—— 使用itsdangerous进行账户的确认
- 用flask开发个人博客(11)—— 模板中代码的重复使用
- 使用 flask-mail 扩展发送邮件
- 用flask开发个人博客(5)——flask中的四种响应类型
- 使用System.Net.Mail发送电子邮件
- 使用flask 发送电子邮件时候遇到的几个问题
- 用flask开发个人博客(3)—— flask中的请求和视图函数映射
- 使用System.Net.Mail通过gmail发送电子邮件
- 使用 System.Net.Mail.MailMessage 发送电子邮件
- 用flask开发个人博客(8)—— flask中的模板
- 从开发到部署,使用django创建一个简单可用的个人博客
- 用flask开发个人博客(2)—— Flask中的请求对象request
- 使用 System.Net.Mail.MailMessage 发送电子邮件
- Visual Studio 2005-基于应用程序中使用 System.Net.mail.SmtpClient 类发送电子邮件时的錯誤
- 使用 System.Net.Mail.MailMessage 发送电子邮件