文章介绍如何用flask_mail发送QQ邮件,发送其它邮箱简单的更改相应配置即可

传送门:源代码

源代码地址:https://github.com/1417766861/flask_mail

首先展示一下效果:

发送普通文本邮件:

发送一个html模板的邮件:

发送一个附带附件的邮件:

看到结果,是否心动了呢?

1. 通过flask_mail  发送QQ邮件,这里使用到flask_mail插件使用:

进入自己虚拟环境:通过指令安装即可。

pip install flask_mail

2.初始化mail对象:

邮件是通过一个 Mail 实例进行管理:

from flask import Flask
from flask_mail import Mail app = Flask(__name__)
mail = Mail(app)

在这个例子中所有的邮件将会使用传入到 Mail 实例中的应用程序的配置项进行发送。

或者你也可以在应用程序配置的时候设置你的 Mail 实例,通过使用 init_app 方法:

mail = Mail()

app = Flask(__name__)
mail.init_app(app)

3.flask_mail的配置:

进入QQ邮箱,进入账户,开启相关服务

qq发送服务器地址:

4.填写config文件的  相关配置:

由于QQ邮箱不支持非加密的协议,那么使用加密协议,分为两种加密协议,选择其中之一即可

1.mail_use_tls    端口号是587

2.mail_use_ssl    端口号是465
我选择的mail_use_tls  协议,所以MAIL_USE_TLS设置为True,端口号587

MAIL_SERVER = "smtp.qq.com"
MAIL_PORT = "587"
MAIL_USE_TLS = True
MAIL_USERNAME = "xxxxxx@qq.com"
MAIL_PASSWORD = "你的授权码--即第三步,点击生成相应的授权码" MAIL_DEFAULT_SENDER = "xxxxxx.hot@qq.com"//默认发送者

5.定义邮箱发送视图函数,填写Message相关的内容包括标题,接收者,内容等等。。。。。例如:

#发送文本
@app.route('/email_send_charactor/')
def email_send_charactor():
message = Message(subject='hello flask-mail',recipients=['1417766861@qq.com'],body='flask-mail测试代码')
try:
mail.send(message)
return '发送成功,请注意查收~'
except Exception as e:
print(e)
return '发送失败'

6.接下来就可以进行邮箱发送了

我已经接收成功了

我已经收到我的邮件呢?   那么你呢?赶紧试试吧~

邮件可以用户,用户认证,授权,找回密码,用户注册等等功能。

如果文章对你有所帮助,别忘了Star一下辛苦的作者哈。

源代码地址:https://github.com/1417766861/flask_mail

flask_mail发送邮件(附源码)的更多相关文章

  1. .Net中使用SendGrid Web Api发送邮件(附源码)

    SendGrid是一个第三方的解决邮件发送服务的提供商,在国外使用的比较普遍.国内类似的服务是SendCloud.SendGrid提供的发送邮件方式主要是两种, 一种是SMTP API, 一种是Web ...

  2. 基于Python接口自动化测试框架+数据与代码分离(进阶篇)附源码

    引言 在上一篇<基于Python接口自动化测试框架(初级篇)附源码>讲过了接口自动化测试框架的搭建,最核心的模块功能就是测试数据库初始化,再来看看之前的框架结构: 可以看出testcase ...

  3. 在网站开发中很有用的8个 jQuery 效果【附源码】

    jQuery 作为最优秀 JavaScript 库之一,改变了很多人编写 JavaScript 的方式.它简化了 HTML 文档遍历,事件处理,动画和 Ajax 交互,而且有成千上万的成熟 jQuer ...

  4. Web 开发中很实用的10个效果【附源码下载】

    在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...

  5. MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码)

    前言:上篇介绍了下 MVC5 的核心原理,整篇文章比较偏理论,所以相对比较枯燥.今天就来根据上篇的理论一步一步进行实践,通过自己写的一个简易MVC框架逐步理解,相信通过这一篇的实践,你会对MVC有一个 ...

  6. C#进阶系列——一步一步封装自己的HtmlHelper组件:BootstrapHelper(三:附源码)

    前言:之前的两篇封装了一些基础的表单组件,这篇继续来封装几个基于bootstrap的其他组件.和上篇不同的是,这篇的有几个组件需要某些js文件的支持. 本文原创地址:http://www.cnblog ...

  7. 轻量级通信引擎StriveEngine —— C/S通信demo(2) —— 使用二进制协议 (附源码)

    在网络上,交互的双方基于TCP或UDP进行通信,通信协议的格式通常分为两类:文本消息.二进制消息. 文本协议相对简单,通常使用一个特殊的标记符作为一个消息的结束. 二进制协议,通常是由消息头(Head ...

  8. jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)

    上一篇记录了BaiduTemplate模板引擎使用示例附源码,在此基础上对使用方法进行了封装 自定义插件jajaxrefresh.js 代码如下: //闭包限定命名空间 (function ($) { ...

  9. 精选9个值得学习的 HTML5 效果【附源码】

    这里精选了一组很酷的 HTML5 效果.HTML5 是现 Web 开发领域的热点, 拥有很多让人期待已久的新特性,特别是在移动端,Web 开发人员可以借助 HTML5 强大功能轻松制作各种交互性强.效 ...

随机推荐

  1. C#中string类型是值类型还是引用类型?(转)

    出处:https://www.cnblogs.com/dxxzst/p/8488567.html .Net框架程序设计(修订版)中有这样一段描述:String类型直接继承自Object,这使得它成为一 ...

  2. WEB应用支持RESTFUL风格方法

    REST概念 Restful就是一个资源定位及资源操作的风格.不是标准也不是协议,只是一种风格.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. REST风格 资源:互联网所有的事物 ...

  3. 20) maven 项目结构:all in one

    这是最常见的项目结构 垂直结构 也是初学者常用的 也是小项目常用的 优点 全部代码在一个项目里,一目了然. 结构简单易于理解 一开始时小巧 缺点 随之而来的缺点也十分明显 前端项目,后端项目,接口项目 ...

  4. 为什么要重写hashCode()方法和equals()方法及如何重写

    我想写的问题有三个: 1.首先我们为什么需要重写hashCode()方法和equals()方法 2.在什么情况下需要重写hashCode()方法和equals()方法 3.如何重写这两个方法 **** ...

  5. codehouse

    1 # 整数部分十进制转二进制 2 3 num = int(raw_input(">>>")) 4 5 if num < 0: 6 isNeg = True ...

  6. MapReduce、Hadoop、PostgreSQL、Spark

    分布式数据库 操作指令 如何实现云计算?注:GIS数据集 谷歌集群系统主要包括三个部分:分布式文件系统GFS,分布式并行计算模型map/reduce,以及分布式数据库Bigtable hadoop是g ...

  7. codeforces891a

    A. Pride time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  8. 2018/6/29 关于hashmap的总结

    hashMap和ConcurrentHashMap的区别 hashMap内部具体如何实现的 如果hashMap的key是一个自定义的类,怎么办 为什么重写equals还要重写hashcode 一.什么 ...

  9. SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束

      Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构.   解决方法是在Mysql中取消外键约束:  SET FOREIGN_KEY_CHECKS=0;     然后将原来表的数据导 ...

  10. 10.scrapy入门

    Scrapy 框架 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页 ...