十八、Flask发送邮件功能实现

243 阅读1分钟

注册的第一步就是给用户输入的邮箱发送邮件,在flask中发送邮件总共分三步:

第一步:安装Flask-Mail
    1、安装命令:pip3 install flask-mail
第二步:配置邮箱参数
    1、想要发送邮件,必须要有一个邮箱服务器,接下来使用个人QQ邮箱来进行邮箱的配置和使用,也可以使用其他邮箱服务:网易邮箱等(具体配置如下图)
第三步:发送邮件

使用QQ邮箱发送邮件配置: 1、点击设置

image.png 2、点击账号

image.png 3、账号下面找到POP3/SMTO服务进行开启

image.png 4、开启成功后,到管理服务里面获取授权码,不要泄露,很重要

image.png

回到代码中,在config.py中进行邮箱配置,代码如下

# 邮箱配置  
MAIL_SERVER = "smtp.qq.com"  #如果是网易邮箱就是:smtp.163.com
MAIL_USE_SSL = True  
MAIL_PORT = 465  
MAIL_USERNAME = "xx@qq.com"  
MAIL_PASSWORD = "授权码"  
MAIL_DEFAULT_SENDER = "xx@qq.com"

配置好邮箱后,回到exts.py中进行初始化

from flask_mail import Mail  
mail = Mail()

再回到app.py中进行导入

from exts import db, mail
mail.init_app(app)

最后一步发送邮件,在auth中编写测试发送邮件代码

from exts import mail, db  
from flask_mail import Message

@bp.route("/mail/test")  
def mail_test():  
message = Message(subject="邮箱测试", recipients=["xbb@163.com"], body="这是一条测试邮件")  
mail.send(message)  
return "邮件发送成功!"

上面代码中recipients是收件人的邮箱,可以在列表中添加多个同时进行发送

地址栏中输入:http:/xxx/auth/mail/test,会看到返回内容’邮件发送成功!‘,查看xbb@163.com邮箱收到邮件