用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
原创粉丝点击