安装:pip install flask-mail

官方文档:https://pythonhosted.org/Flask-Mail/

邮箱配置

MAIL_SERVER = 'smtp.qq.com'  # 邮箱服务器地址
MAIL_PORT = 465 # 端口
MAIL_USE_TLS = True # 使用tls协议
MAIL_USERNAME = '1460@qq.com' # 邮箱
MAIL_PASSWORD = 'llahhie' # 邮箱授权码
MAIL_DEFAULT_SENDER = '14609@qq.com' # 默认发送者

from flask_sqlalchemy import SQLAlchemy
from flask_mail import Mail
db = SQLAlchemy()
mail = Mail()

发一封邮件测试一下

完成发送邮件功能

js

$(function () {
$('#captcha-btn').click(function (event) {
event.preventDefault();
var email = $('input[name="email"]').val();
console.log(email);
if(!email){
xtalert.alertInfoToast('请输入邮箱');
return;
}
http.get({
'url': '/cms/email_captcha/',
'data': {
'email': email
},
'success': function (data) {
if(data['code'] == 200){
xtalert.alertSuccessToast('邮件发送成功,请注意查收');
}else{
xtalert.alertInfo(data['message']);
}
},
'fail': function (error) {
xtalert.alertNetworkError();
}
});
});
});

引用

视图

@bp.route('/email_captcha/')
def email_captcha():
email = request.args.get('email')
if not email:
return restful.params_error('邮箱必填')
# 验证码
source = list(string.ascii_letters) # ['a-z','A-Z']
source.extend(map(lambda x: str(x), range(0, 10))) # ['a-z','A-Z', '0-9']
captcha = ''.join(random.sample(source, 6)) # 把随机取的6位列表转字符串当验证码
message = Message('CMS验证码', recipients=[email], body=f'验证码为:{captcha}')
try:
mail.send(message)
except:
return restful.server_error()
return restful.success()

触发

一百零五:CMS系统之flask-mail使用和邮箱配置、发送邮件功能的更多相关文章

  1. salesforce零基础学习(一百零五)Change Data Capture

    本篇参考: https://developer.salesforce.com/docs/atlas.en-us.232.0.api_streaming.meta/api_streaming/using ...

  2. 一百二十八:CMS系统之轮播图的编辑和删除功能

    编辑 form,继承添加的form 视图 @bp.route('/ubanners/', methods=['POST'])@login_required@permission_required(CM ...

  3. 一百零五、SAP中ALV事件之十七,让ALV表格修改后保存到数据库

    一.我们来到代码界面设置保存按钮的代码 二.i_grid_settings这个属性用来编辑单元格之后,返回给程序编辑后的值 三.我们双击点  'REUSE_ALV_GRID_DISPLAY',来到定义 ...

  4. Java开发笔记(一百零五)几种定时器线程池

    前面介绍了普通线程池的用法,就大多数任务而言,它们对具体的执行时机并无特殊要求,最多是希望早点跑完早点出结果.不过对于需要定时执行的任务来说,它们要求在特定的时间点运行,并且往往不止运行一次,还要周期 ...

  5. 测开之路一百零五:bootstrap的两种引用方式

    一:下载到本地引用: 3.3.7版本:https://getbootstrap.com/docs/3.3/getting-started/#download 下载后解压到本地项目中引用 第二种,cdn ...

  6. net开源cms系统

    .net开源cms系统推荐 内容目录: 提起开源cms,大家第一想到的是php的cms,因为php开源的最早,也最为用户和站长们认可,随着各大cms系统的功能的不断完善和各式各样的开源cms的出现,. ...

  7. 基于jeesite的cms系统(一):开发环境搭建

    基于jeesite的cms系统系列,是对基于jeesite进行二次开发的博客模块开发过程的总结.涉及入门安装,二次开发,部署等 一.概况: JeeSite 是一个 Java 企业级快速开发平台,基于经 ...

  8. 一个基于NodeJS开发的APP管理CMS系统

    花了大概3周独立开发了一个基于NodeJS的CMS系统,用于公司APP的内容管理( **公司APP?广告放在最后 ^_^ ** ,管理员请理解~~~ )晚上看了部电影还不想睡,闲着也是闲着就作下小小总 ...

  9. JAVAEE——宜立方商城05:前台系统搭建、首页展示、Cms系统的实现

    1. 学习计划 1.前台系统搭建 2.商城首页展示 3.Cms系统的实现 a) 内容分类管理 b) 内容管理 4.前台内容动态展示 2. 商城首页展示 系统架构: 页面位置: 2.1. 工程搭建 可以 ...

随机推荐

  1. kubernetes之健康状态检测

    1.说明 容器探针: kubelet 对容器执行的定期诊断 探针执行方式: LivenessProbe: 判断容器是否存活 running状态, 如果不健康kubelet就会杀掉pod,根据重启策略R ...

  2. Django_06_项目完成

    项目完成 基本知识点都学完了,接下来完成示例项目 现在还需要的代码包括三个方面,三个方面顺序不分先后 1.定义视图 2.定义URLconf 3.定义模板 定义视图 编写booktest/views.p ...

  3. 3. Dictionaries and Sets

    1. Generic Mapping Types The collections.abc module provides the Mapping and MutableMapping ABCs to ...

  4. storm 的分组策略深入理解(-)

    目录 storm的分组策略 根据实例来分析分组策略 common配置: Shuffle grouping shuffle grouping的实例代码 ShuffleGrouping 样例分析 Fiel ...

  5. ACM-ICPC 2019南昌网络赛I题 Yukino With Subinterval

    ACM-ICPC 2019南昌网络赛I题 Yukino With Subinterval 题目大意:给一个长度为n,值域为[1, n]的序列{a},要求支持m次操作: 单点修改 1 pos val 询 ...

  6. Python3+Appium学习笔记04-自动下载apk

    在项目中,app更新后,都会发布新的apk版本,然后去蒲公英对应的网站上扫码下载对应的apk进行测试.所以就在想,通过app参数进行安装时,是否可以先通过代码去拉取一遍最新的apk安装包. ​ 因为学 ...

  7. string::assign

    string (1) string& assign (const string& str); substring (2) string& assign (const strin ...

  8. Bootstrap-Bootstrap官网卡片响应式布局

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. vs调试代码 提示 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。

    未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项.试图加载格式不正确的程序. 1.调试-选项-项目和解决方案-web项目-勾选对网站和项目使用iis express 64 ...

  10. ETL测试场景和测试用例设计

    前段时间做了些数据测试相关的工作,找了些相关方面的资料,也跟一些一线厂的同学聊了下数据测试方面的东西,然后在团队内部形成了一个初级的数据测试的规范流程以及测试需要进行的场景设计和测试用例设计的方案. ...