标签:flask-mail
说明来源: flask web开发第六章
??很多类型的应用程序都需要在特定事件发生时提醒用户,而常用的通信方法是电子邮件。 虽然 Python 标准库中的 smtplib 包可用在 Flask 程序中发送电子邮件,但包装了 smtplib 的 Flask-Mail 扩展能更好地和 Flask 集成
MAIL_SERVER 127.0.0.1 邮件服务器
MAIL_PORT 25 电子邮件服务器的端口
MAIL_USE_TLS False 启用传输层安全协议
MAIL_USE_SSL False 启用安全套接层协议
MAIL_USERNAME None 邮件账户的用户名
MAIL_PASSWORD None 邮件账户的密码
这一堆忘了没关系, 直接导入 from flask-mail 按ctrl+鼠标左键,然后查找 init_mail
安装 : pip install flask-mail
或者 : ide安装
file --> settings --> project --> project interpreter --> 点+号 直接搜flask-mail安装
环境: windows 7
python版本: 3.6
开发工具: pycharm
配置文件中的密码帐号应直接保存在环境变量中,因为开源之后可能会暴露
1、windows 环境变量
set MAIL_USER="you@mail.com"
set MAIL_PASSWD="youpassword"
查看 echo %MAIL_USER%
2、linux环境变量
export MAIL_USER="you@mail.com"
export MAIL_PASSWD="youpassword"
查看 echo $MAIL_USER
目录结构: conf.py 与 start.py
1、conf.py配置
from flask import Flask
app = Flask(__name__)
app.config[‘MAIL_SERVER‘] = "smtp.xx.com"
app.config[‘MAIL_PORT‘] = 25
app.config[‘MAIL_USE_TLS‘] = True
app.config["MAIL_USERNAME"] = os.environ.get(‘MAIL_USER‘)
app.config["MAIL_PASSWORD"] = os.environ.get("MAIL_PASSWD")
2、start.py
from conf import app
from flask_mail import Mail, Message
mail = Mail(app)
msg = Message("test subject", sender=‘you@mail.com‘,
recipients=["要发送的邮箱@mail.com", ]) # 这里要注意 是列表
msg.body = "test"
msg.html = ‘<b> html </html> body‘
with app.app_context():
mail.send(msg)
3、运行效果
??
标签:flask-mail
原文地址:http://blog.51cto.com/xiong51/2118987