四时宝库

程序员的知识宝库

Python Flask 发送邮件

在这个实验中还是比较顺风顺水的,只不过Web端集成的时候遇到点小问题,是说send函数必须要在应用上下文中执行,需要放在app.app_context()中~

这里我自己写了一个mail.py文件,专门用来发送一封简单的邮件,然后再让主函数来调用它,在init.py文件里面对邮件进行初始化,mail.py直接引用就可以了~

ailx10

10w+ 次咨询

网络安全优秀回答者

网络安全硕士

去咨询

1、使用Flask-Mail提供邮件支持

废话不多说,先安装flask-mail

2、发个QQ邮件

需要先配置一下QQ邮箱,在「设置-》账号」里面,开启SMTP服务器

发送邮件的效果如下

from flask_mail import Mail,Message
from flask import Flask

app = Flask(__name__)
app.config["MAIL_SERVER"] = "smtp.qq.com"
app.config["MAIL_PORT"] = 465
app.config['MAIL_USE_SSL'] = True
app.config['MAIL_USE_TLS'] = False
app.config["MAIL_USERNAME"] = "************@qq.com"
app.config["MAIL_PASSWORD"] = "************"


mail = Mail(app)

msg = Message("测试",
              sender="************@qq.com",
              recipients=["************@qq.com"])

msg.body = "这是一个邮件内容"

with app.app_context():
    mail.send(msg)

3、在应用中集成电子邮件发送功能

啥也不说了,先看效果,很炸裂有木有,以后可以批量发,定时发,拐弯抹角发~

其实在做的过程中,我也是遇到了一点小麻烦,不积小流无以成江河~

这个时候,我就可以在后台生成一个随机字符串,通过邮件发送给注册用户的邮箱~

然后用户激活的时候,需要输入这个随机字符串,这不就成了嘛~

Web端的效果是这样的:请输入你的邮箱

  • 如果是首次注册,会发送一封邮件,并提示:「买瓶水,交个朋友」
  • 如果不是首次注册,会提示:「老朋友,又见面了,Flag已经在你的邮箱里~」

CTF竞赛之WEB安全入门

作者 ailx10

去查看

本篇完,谢谢大家~

发布于 2021-01-17 22:42 (知乎)

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接