Python利用Flask-Mail实现发送邮件详解
作者:馆主阿牛 发布时间:2023-09-29 03:02:18
标签:Python,Flask-Mail,邮件
前言
在开发过程中,很多应用程序都需要通过邮件提醒用户, Flask 的扩展包 Flask - Mail 通过包装了 Python 内置的smtplib包,可以用在 Flask 程序中发送邮件。
Flask - Mail 连接到简单邮件协议( Simple Mail Transfer Protocol , SMTP )服务器,并把邮件交给服务器发送!
qq邮箱开启smtp服务
首先要开启QQ邮箱的smtp服务,默认是关闭的!
登录QQ邮箱,点"设置" - “帐户”。找到"POP3/SMTP服务"和"IMAP/SMTP服务"项,点"开启"。开启之后,点击"生成授权码"。这个授权码将作为邮箱的身份认证密码 !
Flask-Mail的安装
pip install flask-mail
Flask-MailQQ邮箱的配置
MAIL_SERVER="smtp.qq.com", #服务器
MAIL_PORT=465, #端口
MAIL_USE_TLS=False,
MAIL_USE_SSL=True, # ssl加密传输
MAIL_USERNAME="45621@qq.com", #邮箱名
MAIL_PASSWORD=" " #身份认证密码(授权码)
Flask-Mail的使用
from flask import Flask
from flask_mail import Mail,Message
app = Flask(__name__)
#配置邮件:服务器|端口|传输层安全协议|邮箱名|身份认证密码(授权码)
app.config.update(
MAIL_SERVER="smtp.qq.com",
MAIL_PORT=465,
MAIL_USE_TLS=False,
MAIL_USE_SSL=True,
MAIL_USERNAME="45621@qq.com",
MAIL_PASSWORD=" "
)
# 从app中加载邮箱配置
mail = Mail(app)
@app.route("/")
def index():
# sender 发送方 recipients 接收方列表
msg = Message("This email comes from Aniu's code",sender="45621@qq.com",recipients=["123456@qq.com"])
# 邮件内容
msg.body = "今天是农历七月二十六处暑,天气多云,22℃!独自走过了苍苍莽莽,与你同行才有了光!"
# 发送邮件
mail.send(msg)
print("发送成功!")
return "发送成功!"
if __name__ == "__main__":
app.run()
程序运行成功,下面是我给盆友发的邮件测试!
来源:https://blog.csdn.net/qq_57421630/article/details/126479616
0
投稿
猜你喜欢
- 方法一一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大1、设置数
- 本文实例讲述了Python redis操作。分享给大家供大家参考,具体如下:一、redisredis是一个key-value存储系统。和Me
- 先想创意,再画草图,接着鼠绘,最后做成flas * 。这是我的习惯流程。 这是想到中秋时,我第一时间内能浮想出的图像:大意是嫦娥奔
- 有一个表,用户需要在后台操作它,希望能对它动态进行添加删除字段。这个功能也许没有问题,但是它原有插入与更新的两个存储过程,也需要一起修改。因
- 准备工作本文用到的表格内容如下:先来看一下原始情形:import pandas as pddf = pd.read_excel(r'
- python如何跳过异常继续执行下面有两种解决方法第一种是类似if…else…;另外一种是使用语
- Python操作注册表步骤之1.打开注册表对注册表进行操作前,必须打开注册表。在Python中,可以使用以下两个函数:RegOpenKey和
- 本文实例为大家分享了Python实现神经网络算法及应用的具体代码,供大家参考,具体内容如下首先用Python实现简单地神经网络算法:impo
- Sun周三宣布,准备以10亿美元收购MySQL开源数据库公司。据悉,Sun将支付大约8亿美元现金给MySQL,以获得其私募股票,另外,Sun
- iUI、jQTouch、WPTouch、PhoneGap、XUI、iWebkit、Rhodes、gwt-mobile…当我们已经开始惊叹 w
- 第一题: give you two var a and b, print the value of a+b, just do it!根据提议
- 1.定义aiohttp 是一个基于 asyncio 的异步 HTTP 网络模块,它既提供了服务端,又提供了客户端2.基本使用import a
- 集群是一种技术解决方案,它将硬件和软件结合起来,为Web、Email以及数据库等服务提供高可用性和高伸缩性的架构。本文将分析集群的类型,然后
- 本文转自微信公众号:"算法与编程之美"一、前言三步搭建MUI页面主框架法包括新建含mui的HTML文件、输入mheade
- 这篇文章主要介绍了python多进程并行代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以
- Django版本为:2.1.7Python的web框架,MTV思想MVCModel(模板文件,数据库操作) view(视图模板文
- 前言亲人工作考试,公司给的题库好像是直接从数据库导出的表格Excel形式,在移动端上非常难看,需要不断左右上下滑动,看不了多少题眼就瞎了,遂
- 简介到目前为止,我们查阅anaconda的官网可发现,由于目前Anaconda没有支持arm架构的版本,在M1芯片Mac上安装的Anacon
- GetRows 方法 将 Recordset 对象的多个记录复制到数组中。 语法 代码如下: array = recordset.GetR
- Matrix是Array的一个小的分支,包含于Array。所以matrix 拥有array的所有特性。但在数组乘和矩阵乘时,两者各有不同,如