《flask web开发》第六章flask-mail
来源:互联网 发布:大数据 统计区别 编辑:程序博客网 时间:2024/05/23 21:05
flask-mail要使用需先建一个实例msg=Msg()
使用方法参见文档 http://www.pythondoc.com/flask-mail/index.html
这一次是重刷本书,自己写代码,所以并不使用书本上的函数
- 配置邮件
app.config['SQLAlchemy_COMMIT_ON_TEARDOWN'] = Trueapp.config['MAIL_SERVER'] = 'smtp.qq.com' #设置邮件服务器app.config['MAIL_PORT'] = 587 #qq邮箱的stmp端口475或587app.config['MAIL_USE_TLS'] = True #app.config['MAIL_USERNAME'] = '760208296@qq.com' #可以从环境设置,os.environ.get('xxx')app.config['MAIL_PASSWORD'] = '*****'#高能预警!!!此处为邮箱的stmp授权码,不是邮箱密码!app.config['MAIL_SENDER'] = '760208296@qq.com'
2.第二步
当然是写send_email函数啦,书上的写得太复杂,适合正式场合,自己使用,读读文档写一个简单的
def send_email( ): msg = Message(‘hello’, sender=app.config[‘MAIL_SENDER’], recipients=[‘760208296@qq.com’]) msg.body = ‘hello ’ msg.html = ‘<#> someone is coming <#> ’ #替换为html符号,比如h1,h2 mail.send(msg)
第三步: 集成到视图函数里
注意查询时是单个query,要加上first()
@app.route('/', methods=['GET', 'POST'])def index(): form = NameForm() if form.validate_on_submit(): user = User.query.filter_by(username=form.name.data).first() if user is None: user = User(username = form.name.data) db.session.add(user) send_email( ) session['know'] = False else: session['know'] = True session['name'] = form.name.data form.name.data = '' return redirect(url_for('index')) return render_template('index.html', form=form, name=session.get('name'), know=session.get('known', False))
第四步: 异步发送邮件
def send_async_email(app, msg): with app.app_context(): mail.send(msg)def send_email( ): msg = Message('hello', sender=app.config['MAIL_SENDER'], recipients=['760208296@qq.com']) msg.body = 'hello, a new user is coming ' msg.html = '<h1> someone is coming </h1>' thr = Thread(target=send_async_email, args=[app, msg]) thr.start() return thr
注意配置里加上这一行,不然无法写入数据
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
0 0
- 《flask web开发》第六章flask-mail
- Flask Web开发
- flask-web开发扩展
- flask web开发
- Flask Web 开发 数据库
- Flask Web 开发 测试
- Flask Web开发选型
- Flask Web服务开发
- Flask Web开发 备忘
- Flask Web开发--前言
- Flask Web开发 表单
- [python3.6 flask web学习]使用Flask-Mail发送邮件
- Flask Web开发 第1章
- Flask Web开发 第2章
- Flask Web开发 第3章
- [Flask Web开发] 第6章 电子邮件
- 《flask web开发》第三章重点
- 《flask web开发》第四章重点
- 蓝桥杯三羊献瑞全排列
- 深究JavaScript——原型
- 删除单链表中某个元素
- 面向接口编程详解(一)——思想基础
- 九度 oj 题目1549:货币问题
- 《flask web开发》第六章flask-mail
- VS2017安装教程
- Oracle 使用配置文件来配置JDBC连接数据库
- 《Java高并发程序设计》总结--3. JDK并发包
- call、apply、bind和this
- GB28181技术基础之8
- 网路的基本概念
- 手势密码,纯JavaScript实现,支持iOS和Android
- 快排