这一周的时间,有点空余都在继续学习flask web,其中flask-mail这一节,算是最大的一个坑了吧!我将一步步把大家从坑里拉出来!
一、首先,将邮箱换成163的
app.config['MAIL_SERVER'] = 'smtp.163.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USE_SSL'] = True
二、设置环境变量
set MAIL_USERNAME=xxxx@163.com
set MAIL_PASSWORD=xxxx
是的,我不知道在什么地方,足足坑了我两天!
一开始,我在PyCharm的Terminal中设置,不行!!
后来,我又在cmd命令下设置,但是每回重启又不行了,呵呵!
最后,在我的电脑-右键-属性-高级系统设置-环境变量,将MAIL_USERNAME等设置
三、设置163邮箱POP3/SMTP/IMAP,如果不设置,将有如下错误:
File "D:\PycharmProjects\hello\venv\lib\site-packages\flask_mail.py", line 165, in configure_host
host.login(self.mail.username, self.mail.password)
File "E:\Python36\Lib\smtplib.py", line 730, in login
raise last_exception
File "E:\Python36\Lib\smtplib.py", line 721, in login
initial_response_ok=initial_response_ok)
File "E:\Python36\Lib\smtplib.py", line 642, in auth
raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (550, b'User has no permission')
四、在工程中templates文件夹下新建mail文件夹,新建new_user.html,内容为
User <b>{{ user.username }}</b> has joined.
五、最后,上部分hello.py的代码
app.config['MAIL_USERNAME'] = os.environ.get('MAIL_USERNAME') app.config['MAIL_PASSWORD'] = os.environ.get('MAIL_PASSWORD') app.config['FLASKY_MAIL_SUBJECT_PREFIX'] = '[Flasky]' app.config['FLASKY_MAIL_SENDER'] ='Flasky Admin <xxx@163.com>' app.config['FLASKY_ADMIN'] = os.environ.get('FLASKY_ADMIN')
def send_email(to, subject, template, **kwargs): msg = Message(app.config['FLASKY_MAIL_SUBJECT_PREFIX']+subject, sender=app.config['FLASKY_MAIL_SENDER'], recipients=[to]) msg.body = render_template(template + '.txt', **kwargs) msg.html = render_template(template + '.html', **kwargs) mail.send(msg)
@app.route('/', methods=['GET', 'POST']) def index(): form = NameForm() if form.validate_on_submit(): # old_name = session.get('name') user = User.query.filter_by(username=form.name.data).first() if user is None: user = User(username=form.name.data) db.session.add(user) session['known'] = False # if app.config['FLASKY_ADMIN']: send_email(app.config['FLASKY_ADMIN'], 'New User', 'mail/new_user', user=user) else: session['known'] = True session['name'] = form.name.data form.name.data = '' # send_email(app.config['FLASKY_ADMIN'], 'New User') # send_email(app.config['FLASKY_ADMIN'], 'New User', 'mail/new_user', user=user) return redirect(url_for('index')) return render_template('index.html', form=form, name=session.get('name'), known=session.get('known', False)) if __name__ == '__main__': app.run(debug=True) # manager.run()
运行,发送成功!
相关推荐
flask框架, 学习flask-mail插件,使用qq邮箱发送邮件。
该资源为Flask-2.2.2-py3-none-any.whl,欢迎下载使用哦!
这篇文章主要介绍了Python如何通过Flask-Mail发送电子邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 采用Flask-Mail模块发送电子邮件 代码如下 ##python...
包括用于不同目的的不同邮件后端: 虚拟后端(用于测试) SMTP 后端(SMTP 库包装器)安装通过pip从 PyPi 安装: pip install Flask-Mailer配置选项描述MAILER_BACKEND 邮件后端的路径,例如flask_mailer.backends....
python库。 资源全名:Flask-Stormpath-0.2.9.tar.gz
结合Flask-Security和Flask-Admin的示例史蒂夫·萨波特(Steve Saporta) 2014年4月15日 Flask-Security提供了一种向Flask Web应用程序添加身份验证和授权的便捷方法。... Flask-Mail,有助于发送由Flask-Se
Python Flask Web开发入门之Bootstrap介绍使用和Flask-Nav快速导航栏 共10页.pdf
python全栈开发项目模板Flask+Flask-Login+SQLAlchemy+WTForms+PyMySQL架构Demo。用于快速构建自己的python全栈web应用。简单实用,代码已调试,完美运行! python全栈开发项目模板Flask+Flask-Login+SQLAlchemy+...
flask-file-uploader, 在 python Flask 上使用jQuery文件上传,上传的上传网站脚本 flask-file-uploader描述File文件,支持 python Flask 和 jQuery-File-Upload插件,包括多个文件选择,拖放支持,进度条,验证和...
CTFsession伪造脚本,有解密和加密的,一定要有私钥才能进行。
Flask-1.1.1-py2.py3-none-any.whl
Flask-SocketIO, 用于 Flask 应用程序的socket.io 集成 烧瓶 socketio 用于 Flask 应用程序的Socket.IO 集成。安装你可以与pip一样安装这里软件包:pip install flask-socketio示例from flask imp
需要的环境:keras 2.0.1 及 2.0.5 版本均经过测试可用。推荐Python 2.7,支持Python 3.6. 此外需要numpy, matplotlib, os, h5py, argparse. 推荐使用anaconda安装
flask-vuejs, 示例&提示,带有 Vue.js的Flask Flask-Vue.js
Flask-SQLALchemy-RESTFUL-API, 带有 Flask 和 Sqlalchemy的RESTFUL JSON API 教程和解释http://techarena51.com/index.php/buidling-a-database-driven-restful-json-api-in-python-3-with-flask-flask-restful
flask-login python dbmodel flask完整的登录验证示例
Python 使用Flask-SQLAlchemy实现数据的多对关系 Python源码Python 使用Flask-SQLAlchemy实现数据的多对关系 Python源码Python 使用Flask-SQLAlchemy实现数据的多对关系 Python源码Python 使用Flask-SQLAlchemy实现...
该资源为Flask-0.12.5-py2.py3-none-any.whl,欢迎下载使用哦!