26. Flask 邮件扩展 flask_mail

2020-02-18 17:18:39 浏览数 (1)

Flask-Mail

在开发过程中,很多应用程序都需要通过邮件提醒用户,Flask的扩展包Flask-Mail通过包装了Python内置的smtplib包,可以用在Flask程序中发送邮件。

Flask-Mail连接到简单邮件协议(Simple Mail Transfer Protocol,SMTP)服务器,并把邮件交给服务器发送。

发送邮件需要使用SMTP服务器,常用的免费服务器有:163、126、QQ,下面以163邮件为例。

首先需要安装flask_mail模块。

代码语言:javascript复制
pip3 install flask_mail

1)注册163邮箱,登录后设置。

设置开启邮件服务,如下:

2)在新页面中点击“客户端授权密码”,勾选“开启”,弹出新窗口填写手机验证码。

3)填写授权码。

4)提示开启成功。

5)编写发送邮件代码。

代码语言:javascript复制
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) 确认收到的邮件。

0 人点赞