Flask-Mail
在开发过程中,很多应用程序都需要通过邮件提醒用户,Flask的扩展包Flask-Mail通过包装了Python内置的smtplib包,可以用在Flask程序中发送邮件。
Flask-Mail连接到简单邮件协议(Simple Mail Transfer Protocol,SMTP)服务器,并把邮件交给服务器发送。
发送邮件需要使用SMTP服务器,常用的免费服务器有:163、126、QQ,下面以163邮件为例。
首先需要安装flask_mail模块。
pip3 install flask_mail
1)注册163邮箱,登录后设置。
设置开启邮件服务,如下:
2)在新页面中点击“客户端授权密码”,勾选“开启”,弹出新窗口填写手机验证码。
3)填写授权码。
4)提示开启成功。
5)编写发送邮件代码。
from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
mail_config = {
"MAIL_SERVER": "smtp.163.com",
"MAIL_PORT": 465,
"MAIL_USE_SSL": True,
"MAIL_USERNAME": "****@163.com", # 发送邮箱
"MAIL_PASSWORD": "****" # 客户端授权码
}
app.config.update(mail_config)
mail = Mail(app)
@app.route("/send_mail")
def send_mail():
"""
发送邮件
"""
message = Message("标题", sender=app.config["MAIL_USERNAME"], recipients=["****@qq.com"])
message.body = "内容"
mail.send(message)
return "发送成功"
if __name__ == "__main__":
app.run()
6)访问视图函数send_mail发送邮件。
7) 确认收到的邮件。