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(_ ...
随机推荐
- Android中Activity的启动模式(LaunchMode)和使用场景
一.为什么需要启动模式在Android开发中,我们都知道,在默认的情况下,如果我们启动的是同一个Activity的话,系统会创建多个实例并把它们一一放入任务栈中.当我们点击返回(back)键,这些Ac ...
- CEF 远程调试
转载:https://www.cnblogs.com/TianFang/p/9906786.html 转载:https://stackoverflow.com/questions/29117882/d ...
- SQL中左连接on and条件和where条件执行先后顺序
left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录. right join :右连接,返回右表中所有的记录以及左表中连接字段相等的记录. inner join: 内连接,又 ...
- Java并发包之阶段执行之CompletionStage接口
前言 CompletionStage是Java8新增得一个接口,用于异步执行中的阶段处理,其大量用在Lambda表达式计算过程中,目前只有CompletableFuture一个实现类,但我先从这个接口 ...
- ISO/IEC 9899:2011 条款6.10.1——条件包含
6.10.1 条件包含 约束 1.控制条件包含的表达式应该是一个整数常量表达式,除了:标识符(包括那些词法上与关键字相同的)被解析为以下所描述的:[注:因为控制常量表达式在翻译阶段4期间被计算,所以所 ...
- .py .pyc .pyd .pyw文件区别
- [LeetCode] 568. Maximum Vacation Days 最大化休假日
LeetCode wants to give one of its best employees the option to travel among N cities to collect algo ...
- 【Sqoop学习之二】Sqoop使用
环境 sqoop-1.4.6 一.基本命令1.帮助命令 [root@node101 ~]# sqoop help Warning: /usr/local/sqoop-/../hbase does no ...
- 逸鹏说道公众号福利:逆天常用的一些谷歌浏览器插件V1.3
插件导出:http://www.cnblogs.com/dunitian/p/5426552.html 插件导入:https://www.cnblogs.com/dotnetcrazy/p/97537 ...
- Influx Sql系列教程二:retention policy 保存策略
retention policy这个东西相比较于传统的关系型数据库(比如mysql)而言,是一个比较新的东西,在将表之前,有必要来看一下保存策略有什么用,以及可以怎么用 I. 基本操作 1. 创建re ...