flask_mail使用
python3里发送邮件使用smtplib模块,内置得,不用下载安装,直接导入即可
smtplib使用实例
import smtplib
from email.mime.text import MIMEText sender='1402015437@qq.com'
receivers=['565770751@qq.com']
message = MIMEText('python发送邮件内容',_subtype='plain',_charset='utf-8')
message['Subject'] ='python邮件发送标题'
message['From'] =sender
message['To'] = ";".join(receivers)
server = smtplib.SMTP()
server.connect('smtp.qq.com',25)
server.login('1402015437@qq.com','xxx邮箱密文,这是不是填密码')
server.sendmail(sender,receivers,message.as_string())
server.close()
print('发送成功')
flask里集成了邮件模块,使用得是flask_mail模块
相关代码:
先定义模块,mail.py文件
from flask_mail import Mail,Message
mail=Mail() class Mail():
##发送邮件
@classmethod
def send_mail(self,subject,recipients,content):
try:
message = Message(subject=subject, recipients=recipients, body=content)
mail.send(message)
except Exception as e:
print(e)
raise
项目结构目录:

需要去配置文件里加入一下代码
MAIL_SERVER = 'smtp.qq.com'
MAIL_USE_TLS = False
MAIL_USE_SSL = True
MAIL_PORT = 465
MAIL_USERNAME = '1402015437@qq.com'
MAIL_PASSWORD ='XXXXX' #生成的授权码
##默认发件人的邮箱,这里填写和MAIL_USERNAME一致即可
MAIL_DEFAULT_SENDER = "1402015437@qq.com"

##初始化邮件
from app.tool.mail import mail
mail.init_app(app) 调用邮件方法:新建一个user.py
from app.web import web
from app.tool.mail import Mail
from flask import render_template,request,jsonify
import random
@web.route('/user/findpwd',methods=['GET','POST'])
def find_password():
if request.method=='POST':
try:
email=request.form.get('email') content='您的验证码是:'+"".join(random.sample('zyxwvutsrqponmlkjihgfedcba',5))
print(content)
Mail.send_mail('flask-mail',[email],content )
return jsonify({"status":True, "result":"发送成功"})
except Exception as e:
return jsonify({"status":False,"msg":"错误原因:"+str(e)})
print(e)
else:
return render_template('reset_password.html') def send_mail():
pass
templates里得html页面代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>找回密码</title>
<link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="http://cdn.bootcss.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
</head>
<body>
<div class="layui-container">
<h3>找回密码</h3>
<input type="text" class="layui-input" id="email" value="565770751@qq.com">
<br>
<input type="button" id='btn_submit' value="提交" class="layui-btn layui-btn-danger">
</div> <script type="text/javascript">
$(function () {
$("#btn_submit").click(function () { $.ajax(
{
type:"POST",
url:"/user/findpwd",
data:{"email":$("#email").val()},
success:function (data)
{ alert(data.result)
} })
})
})
</script>
</body>
</html>
flask_mail使用的更多相关文章
- flask_mail发送163邮件,报553错误的原因
最近在练习用flask_mail发送163邮件时报错: reply: '553 authentication is required,163 smtp9,DcCowAD3eEQZ561caRiaBA- ...
- 2018.4.24 flask_mail使用
#!/flask/bin/python # -*- coding: utf-8 -*- from threading import Thread from flask import Flask fro ...
- flask_mail发送邮件(附源码)
文章介绍如何用flask_mail发送QQ邮件,发送其它邮箱简单的更改相应配置即可 传送门:源代码 源代码地址:https://github.com/1417766861/flask_mail 首先展 ...
- flask-mail发送QQ邮件代码示例(亲测可行)
from flask import Flask from flask_mail import Mail, Message app = Flask(__name__) app.config.update ...
- flask 扩展之 -- flask-mail
Flask-Mail 封装了 python 标准库 smtplib 包, 以便于更好的与 Flask 集成. 一. 安装 $ pip install flask-mail 二. 配置 及 初始化 Fl ...
- python web -- flask
Flask是一个简洁的 Python_web 框架. 零. virtualenv 虚拟环境配置. $ easy_install pip $ pip install virtualenv $ virtu ...
- flask-日料网站搭建
引言:想使用python的flask框架搭建一个日料网站,主要包含web架构,静态页面,后台系统,交互. 本节知识:搭建web目录,目前正在copy网站. python环境:python2.7,fla ...
- flask入门与发送邮件与QQ邮箱
前言: 快两个月没写博客了, 原因是懒了, 没有最初写博客那种看到阅读量上涨, 别人给自己文章点赞后的开心. 心态也发生了不少变化. 有机会再来写写. 前两个月我去厦门某公司实习, 本着去厦门玩一玩还 ...
- Flask 扩展 Mail
安装 pip install flask-mail from flask import Flask from flask_mail import Mail, Message app = Flask(_ ...
随机推荐
- linux 运行时限制CPU核数、内存、读写速度
systemd-run --scope -p MemoryLimit=4G \ -p "BlockIOReadBandwidth=/dev/sdb1 150M" \ -p &quo ...
- 腾讯云短信 nodejs 接入, 通过验证码修改手机示例
腾讯云短信 nodejs 接入, 通过验证码修改手机示例 参考:腾讯云短信文档国内短信快速入门qcloudsms Node.js SDK文档中心>短信>错误码 nodejs sdk 使用示 ...
- redis如何实现主从数据的同步
Redis的主从同步机制可以确保redis的master和slave之间的数据同步.按照同步内容的多少可以分为全同步和部分同步:按照同步的时机可以分为slave刚启动时的初始化同步和正常运行过程中的数 ...
- java jdk 8u191 官网下载地址
目前jdk最后免费版本 jdk-8u191 下载地址: https://www.oracle.com/technetwork/java/javase/downloads/java-archive-ja ...
- Spring中的乱码问题
最近发现一个问题, 中文编码保存到数据库里显示正确, 打印出来却是一串问号, 然后怀疑是平台默认编码的问题, locale命令显示是UTF-8正常, 然后单独编写一个java文件, 编译然后Java命 ...
- 12 Cookie、Session和JSP基础
1.会话技术 (1)会话概念:一次会话中包含多次请求和响应.一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 (2)会话功能:在一次会话的范围内的多次请求间,共享数据 (3)会 ...
- nginx acces.log日志分析
1,统计各访问IP的总数 awk '{if($9>0 && $9==200 && substr($6,2)== "GET") a[$1]++} ...
- Mysql中MVCC的使用及原理详解
准备 测试环境:Mysql 5.7.20-log 数据库默认隔离级别:RR(Repeatable Read,可重复读),MVCC主要适用于Mysql的RC,RR隔离级别 创建一张存储引擎为test ...
- CF991E Bus Number
题意翻译 给你一个数字序列A(长度不超过18位),问有多少个序列B满足①A中所有数字都一定要在B中出现过:②B中所有数字也一定要在A中出现过:③序列B不能以0开头 输入 #1 97 输出 #1 2 解 ...
- WEB前后端分离开发中的验证与安全问题
登录验证以及安全问题: 1.请求接口全部用post方式,在后端判断请求方式是否为post 2.登录密码等敏感信息要加密后传输,如用RSA(支付宝里可下载公私钥生成工具),客户端公钥加密,传到服务器后再 ...