简介

在WEB开发时,我们常常会使用到发送邮件的功能,注册时或者更换密码时,需要验证邮箱,在flask的扩展中有Flask-mai来帮助完成这一功能

配置

flask-mail发送邮件需要你提供你的邮箱账号和密码。某些配置是发送邮箱所必须的·。大部分flask初学者一般没有云主机和域名来搭建邮箱服务器,所以我们只能使用qq等邮件服务商给你的邮箱
这里介绍了如何配置邮箱的config
开发在mail文件夹中

#/app/config
MAIL_SERVER = 'smtp.qq.com'
MAIL_PORT = 465
MAIL_USE_TLS = False
MAIL_USE_SSL = True
# 注意此处,很多人配置发不出去和这个是有关系的
MAIL_PASSWORD = '**********'
MAIL_USERNAME = '********@qq.com'

此处以qq邮箱为例子,我们填入了qq邮箱的服务器地址,他的邮箱服务的端口,TLS,SSL的选择–这是很多人发不出去邮件的关键之一,账号和密码–发不出去邮箱的另一个关键!
QQ邮箱是使用SSL的,然后注意QQ邮箱此处的密码不是你的qq密码!!
不是你的QQ密码!!
。。我在这个坑陷了很久~~很久 ~~很久·
这个密码你登陆qq邮箱,选择设置,然后点击账号


邮箱的密码就是此处的授权码填入后的给你的密码。
126等邮箱发不出去也是因为其有自己的设置。

功能实现

实现我们需要一个app实例

#/usr/bin/env python
# mail/app.py
from flask import Flask
from flask_mail import Mail, Message
from threading import Threadapp = Flask(__name__)
mail = Mail(app)def send_async_email(app,msg):with app.app_context():mail.send()def SendMail():msg = Message('test',sender='***@qq.com',\recipients=["***@example.com"])
#recipients是个列表,包含所有收件人
#此处的test是邮箱的主题,sender和config中的MAIL_USERNAME要一致哦msg.body = 'testbody'msg.html = '<b>test</b>body'
#邮件发送给目标,可以有文本,两种方式呈现,你能看见怎样的取决于你的客户端thr = Thread(target=send_async_email,args=[app,msg])
#使用多线程,在实际开发中,若是不使用异步、多线程等方式,网页会卡住thr.start()return 'ok'

在当前文件夹使用python

>>from app import SendMail
>>SendMail() 

邮件就会成功发出去啦

补充

在具体实践中,发送邮箱会被抽象成一个函数,msg的body和html形式一般会使用flask的render_tempalte来渲染
发送大量邮件时,QQ、126邮箱服务器很有可能认为你在发送垃圾邮件因此发不出去。
生产环境时应当使用自己搭的邮箱服务器,或者邮箱服务商提供的企业邮箱

参考

flask-login中文文档 http://www.pythondoc.com/flask-mail/

转载于:https://www.cnblogs.com/lynsyklate/p/6443407.html

使用Flask-Mail发送邮件相关推荐

  1. C#使用 System.Net.Mail发送邮件功能

    C#使用 System.Net.Mail发送邮件功能 .NET 里包含了很多很丰富的邮件发送与接受的API在 System.Net.Mail命名空间里,使得我们开发发送和接受邮件相关功能变得简单,下面 ...

  2. 基于.NET2.0的System.Net.Mail发送邮件Demo

    第一种:         //emailaddress邮件接收者地址         //mailcontent邮件主体内容         //mailtitle邮件标题         //mai ...

  3. 使用javax.mail发送邮件

    文章目录 一.发邮件流程 二.关于邮件协议和端口 三.开启邮件协议和端口 3.1. QQ邮箱 3.2. 163邮箱 四.实战发送邮件 4.1. 引入依赖 4.2. 方法重写 4.3. 发送邮件核心类工 ...

  4. .net System.Web.Mail发送邮件

    net System.Web.Mail发送邮件 用System.Web.Mail发送邮件,适用于.net1.1.net2.0请用System.Net.Mail 先引用System.Web 1,发送简单 ...

  5. java mail header_java使用mail发送邮件时出现乱码如何解决

    java使用mail发送邮件时出现乱码如何解决 发布时间:2020-06-24 13:23:24 来源:亿速云 阅读:199 作者:Leah java使用mail发送邮件时出现乱码如何解决?相信很多没 ...

  6. SpringBoot学习历程(十一):SpringBoot2.X集成mail发送邮件

    SpringBoot学习历程(十一):SpringBoot2.X集成mail发送邮件 前言 1. 引入依赖 2. 设置邮件配置信息 3. 发送邮件 3.1 发送普通文本邮件 3.2 发送HTML格式内 ...

  7. .net System.Web.Mail发送邮件 (已过时)

    net System.Web.Mail发送邮件 用System.Web.Mail发送邮件,适用于.net1.1.net2.0请用System.Net.Mail 先引用System.Web 1,发送简单 ...

  8. 使用 javax.mail 发送邮件

    发邮件在 java web 项目中是一个常用功能,之前在项目中刚好用到了邮件发送功能,现在用博客进行记录,方便以后查阅.这篇文章简单介绍使用 javax.mail 发送邮件的步骤,并提供封装好的邮件发 ...

  9. 使用mail发送邮件 报错找不到服务器Could not connect to SMTP host: smtp.***.com, port: 465, response: -1

    使用mail发送邮件 报错找不到服务器 /*** 背景* 在使用javamail进行邮件发送的时候,报错:* Could not connect to SMTP host: smtp.***.com, ...

  10. 使用ZF2的DI操作Zend\Mail发送邮件

    Zend Framework 2完整的实现了DI,也就是依赖注入功能,但是在正式发行的ZF2中,DI已经基本被ServiceManager所取代,一个ZF2项目几乎可以不接触DI这一层. 但是DI仍然 ...

最新文章

  1. Spring+mongodb集群集成(吐血教程) 转自:http://blog.csdn.net/qq_16497617/article/details/52817335
  2. YOLO Object Detection with OpenCV
  3. 牛客小白月赛12 I 华华和月月逛公园 (tarjian 求桥)
  4. 苹果架构调整:AI、机器学习和Siri合并,由前谷歌AI负责人领导
  5. c语言用字符编程图形,C语言图形编程——字母符号
  6. 带有拉普拉斯平滑的Naive Bayes python代码实现
  7. java 代理模式详解
  8. 计算机应用专科学年鉴定表,计算机应用技术专业学生大一学年自我鉴定.docx
  9. 街头篮球手游服务器维护,街头篮球手游2018年7月20日更新维护公告 强力落地+过人高手技能...
  10. 2018工业互联网峰会在京召开
  11. 一个月工资3500元,有双休,每天工作8小时
  12. MySQL 计算连续涨跌
  13. 华米在自主芯片和OS研发上取得突破,将成为又一个华为
  14. ABAP 长文本内容数据迁移 SAP
  15. APICloud联合腾讯云推出“云主机解决方案“,各种福利等你拿
  16. Cassandra入门学习
  17. 重温C语言二:变量学习笔记
  18. 优动漫PAINT中创建选区来绘制漫画的方法
  19. Set set=new HashSet();的意义是什么呢
  20. 能在一台电脑上装好系统,然后把硬盘换到另外一台电脑上用吗?

热门文章

  1. Linux内存管理 - 页表的映射过程初步了解
  2. TS中补充的六个类型
  3. jzoj3085. 图的计数
  4. Mathematica干涉图处理
  5. DataReader 要在事务提交前 CLOSE 掉 否则会报一个:已有打开的与此命令相关联的 DataReader,必须首先将它关闭。...
  6. asp.net cache
  7. python开发网络小工具_Python集成网络诊断小工具(含有ping,tracert,tcping等小工具)...
  8. 零基础开始学 Web 前端开发,有什么建议吗?--知
  9. python 等比例缩放图片 自写
  10. 3.6 激活函数-深度学习-Stanford吴恩达教授