flask-mail 使用

flask-mail 使用

Flask-Mail 官网介绍:

The Flask-Mail extension provides a simple interface to set up SMTP with your Flask application and to send messages from your views and scripts.

安装

pip install flask-mail

使用示例:

本文使用 Flask-Mail 实现一个通过 Web 服务来向某一个邮箱发送电子邮件的功能。

首先我们假定发送者的邮箱为 [email protected],接收者的邮箱为 [email protected]

from flask import Flask
from flask_mail import Mail, Message

app = Flask(__name__)

# 填写 flask mail 的相关配置
app.config['MAIL_SERVER'] = 'smtp.qq.com'  # QQ邮箱SMTP协议的服务器
app.config['MAIL_PORT']= 465  # 开启SSL协议的端口号
app.config['MAIL_USE_SSL'] = True
app.config['MAIL_USERNAME'] = '[email protected]'
app.config['MAIL_PASSWORD'] = 'xxxxxxxxx'  # 填写发送者邮箱的授权码

# 初始化 mail 对象
mail = Mail(app)

# 提供的服务
@app.route("/")
def index():
    msg = Message('Test Mail', sender='[email protected]', recipients=['[email protected]'])
    msg.body = 'test body'
    msg.html = '<b>Hello World</b>'
    with app.app_context():
        mail.send(msg)

    return 'success'

if __name__ == '__main__':
    app.run()

注意我们使用的是QQ邮箱,在配置项 MAIL_PASSWORD 需要填写的是QQ邮箱服务的授权码。

授权码获取方式

进入QQ邮箱界面,点击 设置,在其中找到 开启POP3/SMTP服务 选项,点击 开启,之后便可以获得授权码。

运行

运行该 python 文件后,可以看到成功启动一个 Flask 服务,默认在 5000 端口号,在浏览器中输入 localhost:5000/ 便可以成功访问该服务,此时程序便会使用发送者邮箱向接收者邮箱发送一封邮件。

猜你喜欢

转载自blog.csdn.net/qq_45668004/article/details/117770113