使用依赖:

flask_mail

安装方式: 

pip3 install flask-mail

 代码示例: 

from flask import Flask
from flask_mail import Mail, Message

app = Flask(__name__)
#通过app.config对象的update()方法来加载配置 app.config.update( MAIL_SERVER
="smtp.xxx.com", MAIL_USE_SSL=True, MAIL_PORT=465, MAIL_USERNAME='[email protected]', MAIL_PASSWORD="授权码", MAIL_DEFAULT_SENDER=('wangju', '[email protected]') #默认发件人 发件人邮箱 ) mail = Mail(app) subject='脚本测试用例维护通知' #邮件主题 recipients='[email protected]' #收件人 body='测试邮件' #邮件内容 #发送邮件 def send_email(subject,to,body): message = Message(subject,recipients=[to],body=body) mail.send(message) @app.route('/') def subscribe(): send_email(subject,'收件人邮件',body) return '发送邮件成功,请查收' if __name__ == '__main__': app.run(debug=True)

遇到的问题:

运行demo.py时报错:

RuntimeError: Working outside of application context

查询了一番,只知道这个错的意思是没有激活上下文,但是不清楚,没有激活上下文又代表什么意思。

最后才发现,原来就是我在demo.py中

加了视图函数subscribe(),并在其中调用 send_email,就可以正常发送邮件了。

参考文档:

Flask抛出RuntimeError: Working outside of application context.错误

12-30 00:19