您的位置:首页 > 大数据 > 人工智能

flask_email实现QQ邮箱发送邮件

2018-01-09 20:30 567 查看
直接上代码

from flask import Flask
from flask_mail import Mail, Message
from threading import Thread
#使用线程编程实现异步发送,否则服务就会卡主,如果是web的话在发送完成之前网页是loading状态

app = Flask(__name__)
app.config.update(dict(
DEBUG = True,
MAIL_SERVER = 'smtp.qq.com',
MAIL_PORT = 465,
MAIL_USE_TLS = False,
MAIL_USE_SSL = True,
MAIL_PASSWORD = '**********',#看下面第一张图
MAIL_USERNAME = '**********@qq.com'
))

mail = Mail(app)

def send_async_email(app,msg):
with app.app_context():
mail.send(msg)

def SendMail():
msg = Message('This is a mail from QQ SMTP HOST',sender='**********@qq.com',\
recipients=["**********@163.com"])
msg.body = 'From QQ'
msg.html = '<b>Halo the world!</b>'
thr = Thread(target=send_async_email,args=[app,msg])
thr.start()
return 'ok'

SendMail()


基本邮件配置解释(https://github.com/lavr/flask-emails):



对于MAIL_PASSWORD 这一项所填的并不是你的邮箱登录密码,而是登录第三方客户端邮箱的授权码,对于QQ邮箱可以根据下图来生成授权码(设置-》账户-》下图第二个箭头所指区域)



运行示例截图:

显示发送过程



发送成功,Bye



登录邮箱查收



如果英语好可以看看这个:

https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xi-email-support-legacy
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: