当前位置:首页 > 云计算 > 正文内容

Flask:邮件扩展

2022-05-04 03:10:23云计算2

邮件扩展

在开发过程中,很多应用程序都需要通过邮件提醒用户,Flask的扩展包Flask-Mail通过包装了Python内置的smtplib包,可以用在Flask程序中发送邮件。

Flask-Mail连接到简单邮件协议(Simple Mail Transfer Protocol,SMTP)服务器,并把邮件交给服务器发送。

设置邮箱授权码

如下示例,通过开启 QQ 邮箱验证 SMTP 服务设置,发送邮件:

#coding:utf-8
fromflaskimportFlask,render_template
fromflask_mailimportMail,Message
fromthreadingimportThread
app=Flask(__name__)
#配置邮件:服务器/端口/安全套接字层/邮箱名/授权码
app.config['MAIL_SERVER']="smtp.126.com"
app.config['MAIL_PORT']=465
app.config['MAIL_USE_SSL']=True
app.config['MAIL_USERNAME']="furuiyang@126.com"
app.config['MAIL_PASSWORD']="19940414"
app.config['MAIL_DEFAULT_SENDER']='FlaskAdmin<furuiyang@126.com>'
mail=Mail(app)
defasync_send_email(app,msg):
withapp.app_context():
try:
mail.send(msg)
exceptExceptionase:
printe
defsend_email_thread(subject,to,content):
msg=Message(subject=subject,recipients=[to],body=content)
thread=Thread(target=async_send_email,args=(app,msg))
thread.start()
returnthread
@app.route('/')
defindex():
return'<ahref="%s">发送邮件</a>'%url_for('send_email')
@app.route('/send_email')
defsend_email():
send_email_thread('我是邮件主题',to='furuiyang@126.com',content='我是邮件内容哈哈')
return'发送中...'
if__name__=='__main__':
app.run()

众多python培训视频,尽在python学习网,欢迎在线学习!

本文转自:https://blog.csdn.net/Enjolras_fuu/article/details/82793428

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/8138.html

标签: Python