您的位置:首页 > 大数据 > 人工智能

用flask开发个人博客(24)—— flask中使用Flask_Mail发送电子邮件

2016-10-07 10:02 417 查看
        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 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: