Flask Web开发 邮件功能之windows遇到的坑
来源:互联网 发布:盘古网络是电话销售吗 编辑:程序博客网 时间:2024/05/18 01:47
Flask Web开发 邮件功能之windows遇到的坑
windows开发真的很坑,一些环境变量设置了…大家都懂得
先来说一下关于环境问题
系统:windows
安装的是Anaconda,一键式安装
本文介绍如何使用Flask-Mail发送邮件。
Flask-Mail连接到简单邮件传输协议(SMTP)服务器,并把邮件交给这个服务器发送。
0.安装Flask-Mail
在Anaconda中安装,一条命令搞定
pip install flask-mail
1.Flask-Mail发送邮件
本实例是用163邮箱账户为例发送电子邮件的。
注意,163常用的收件,发件服务器的地址和端口是什么。
第一步:使用163邮箱,需要先登录客户端进行设置,点击设置>POP3/SMTP/IMAP
第二步:点击左侧客户端授权密码
进行相关操作开启客户端授权码
注意,这个客户端授权码是下文要用到的密码
以下是一个简单的代码:flask_email.py
# -*- coding:utf-8 -*-# Author: Roc-Jfrom flask import Flaskfrom flask_mail import Mail, Messageimport osapp = Flask(__name__)#下面是SMTP服务器配置app.config['MAIL_SERVER'] = 'smtp.163.com' #电子邮件服务器的主机名或IP地址app.config['MAIL_PORT'] = '465' #电子邮件服务器的端口app.config['MAIL_USE_TLS'] = False #启用传输层安全app.config['MAIL_USE_SSL'] = Trueapp.config['MAIL_USERNAME'] = os.environ.get('MAIL_USERNAME') #邮件账户用户名app.config['MAIL_PASSWORD'] = os.environ.get('MAIL_PASSWORD') #邮件账户的密码mail = Mail(app)@app.route('/')def index(): msg = Message('主题', sender=app.config['MAIL_USERNAME'], recipients=['646481338@qq.com']) msg.body = '文本 body' msg.html = '<b>HTML</b> body' mail.send(msg) return '<h1>邮件发送成功</h1>'if __name__ == '__main__': app.run()
上面的注释已经写得很明确了,其中邮件用户名和密码要存储到环境变量中,在windows下设置是很有意思的。
打开cmd到当前程序目录下,在命令行中输入
set MAIL_USERNAME=youremailset MAIL_PASSWORD=
注意,这里的密码是刚刚客户端设置的客户端授权码的密码,不是邮箱的密码。
注意,cmd设置环境变量不需要加引号,直接输入内容即可,并且要注意!注意!注意!这个设置是临时变量,因此不要关闭这个terminal,直接在下面运行该程序
在cmd中接着刚才那两条语句
python flask_email.py
就可以正确的运行了~
好了,虽然很简单,但是刚开始一直没有出来效果。
阅读全文
0 0
- Flask Web开发 邮件功能之windows遇到的坑
- Flask Web 开发 邮件功能
- Flask Web 开发 集成邮件功能
- 学习flask web开发遇到的一些问题及解决方法
- Flask Web 开发 发送异步邮件
- flask-web开发中登录和注册功能的实现
- Flask之旅《Flask Web开发:基于Python的Web应用开发实战》学习笔记
- Flask WEB 开发(基于Python的Web应用开发实践)遇到的bug
- Flask Web 开发 Flask script 扩展功能 Manager
- Python Flask开发之注册登陆功能
- Python Web开发Django、Flask之Templates
- python web开发 之 flask教程
- Flask Web开发学习之“HelloWorld”
- Flask Web 开发 番外篇_关于扩展引入的坑
- flask 开发的坑
- Flask Web 开发 服务器的启动
- Flask Web开发
- flask-web开发扩展
- 解决安装python matplotlib包时出现”ImportError: DLL load failed: 找不到指定的程序“ 的问题
- 关于HTTP协议的基础知识
- HBase shell操作
- 从阶下囚到CEO,他给100万出狱的人找工作
- latex双栏
- Flask Web开发 邮件功能之windows遇到的坑
- aix ip别名配置
- Web监听器
- 2.3.6多线程和原子类
- 所谓"抽象"与"具体"
- HEIF & HEVC 你知道多少?
- iOS自定义启动界面
- Redis设计与实现 --- 数据结构
- 快速幂非递归实现(即求x的n次方)