from flask import Flask, request,render_template,redirect
from flask_mail import Mail, Message
from threading import Thread
from forms import RegistrationForm
app = Flask(__name__)
# 配置邮件服务
app.config['MAIL_SERVER'] = 'smtp.qq.com'
app.config['MAIL_PORT'] = 25
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = '#####' # 邮箱
app.config['MAIL_PASSWORD'] = '******' # 验证密保
mail = Mail(app)
def send_async_email(app, msg):
'''异步发送邮件'''
with app.app_context():
mail.send(msg)
@app.route('/register', methods=['GET', 'POST'])
def register():
form = RegistrationForm(request.form) # 实例化RegistrationForm类
if request.method == 'POST' and form.validate(): # 判断是否提交表单,并且表单字段验证通过
username = request.form.get('username','尊敬的用户') # 获取用户名
email = request.form.get('email') # 获取邮箱
recipients = list() # 收件人邮件列表
recipients.append(email) # 加入收件人邮件列表
msg = Message('[明日学院]网站用户激活邮件', sender='694798056@qq.com', recipients=recipients)
msg.body = '您好'+username+',明日学院管理员想邀请您激活您的用户,点击链接激活。https://www.mingrisoft.com'
# 使用线程
thread = Thread(target=send_async_email, args=[app, msg]) # 创建线程实例
thread.start() # 开启线程
return redirect('/mail_success') # 跳转路由
return render_template('register.html', form=form) # 渲染模板
@app.route("/mail_success")
def mail_success():
return "邮件发送成功"
if __name__ == '__main__':
app.run(debug=True)
Python代码源码-实操案例-框架案例-如何使用SMTP协议为注册用户发送邮件.zip
版权申诉
181 浏览量
2024-02-22
18:59:04
上传
评论
收藏 6KB ZIP 举报
徐浪老师
- 粉丝: 6468
- 资源: 6880
最新资源
- mysql修改密码.md
- 微信浏览器网页版打开插件 支持 Edge / Chrome / Chromium 内核:Wechat-need-web
- 国家开放大学电大化工制图形考任务答案
- 基于python+sqlite实现知识图谱的农作物病虫害防治智能问答平台
- 移动通信系统ofdm的STO和CFO matlab
- 2024年全国职业院校技能大赛集成电路应用开发赛项竞赛试题(03卷)
- 基于CRT(远程访问终端)+ARM(GEC)+Linux+C语言的视频监控系统源码+文档说明.zip
- 用vue.js开发微信app
- CentOS-7-x86-64-Minimal-2009-迷你版系统镜像
- wireshark抓包软件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈