注册的第一步就是给用户输入的邮箱发送邮件,在flask中发送邮件总共分三步:
第一步:安装Flask-Mail
1、安装命令:pip3 install flask-mail
第二步:配置邮箱参数
1、想要发送邮件,必须要有一个邮箱服务器,接下来使用个人QQ邮箱来进行邮箱的配置和使用,也可以使用其他邮箱服务:网易邮箱等(具体配置如下图)
第三步:发送邮件
使用QQ邮箱发送邮件配置: 1、点击设置
2、点击账号
3、账号下面找到POP3/SMTO服务进行开启
4、开启成功后,到管理服务里面获取授权码,不要泄露,很重要
回到代码中,在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邮箱收到邮件