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 服务来向某一个邮箱发送电子邮件的功能。
首先我们假定发送者的邮箱为 1069040922@qq.com
,接收者的邮箱为 yubin_SkyWalker@yeah.net
。
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'] = '1069040922@qq.com'
app.config['MAIL_PASSWORD'] = 'xxxxxxxxx' # 填写发送者邮箱的授权码
# 初始化 mail 对象
mail = Mail(app)
# 提供的服务
@app.route("/")
def index():
msg = Message('Test Mail', sender='1069040922@qq.com', recipients=['yubin_SkyWalker@yeah.net'])
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/
便可以成功访问该服务,此时程序便会使用发送者邮箱向接收者邮箱发送一封邮件。