Flask-Mail用法实例分析
作者:喷跑的豆子 发布时间:2023-08-07 20:24:25
标签:Flask,Mail
本文实例讲述了Flask-Mail用法。分享给大家供大家参考,具体如下:
很多类型的应用程序都需要在特定事件发生时提醒用户,而常用的通信方法是电子邮件。
虽然 Python 标准库中的 smtplib
包可用在 Flask 程序中发送电子邮件,但包装了 smtplib
的
Flask-Mail
扩展能更好地和 Flask 集成
安装
pip3 install flask-mail
Flask-Mail SMTP服务器的配置
配置 | 默认值 | 说明 |
---|---|---|
MAIL_SERVER | localhost | 电子邮件服务器的主机名或IP地址 |
MAIL_PORT | 25 | 电子邮件服务器的端口 |
MAIL_USE_TLS | False | 启用传输层安全协议 |
MAIL_USE_SSL | False | 启用安全套接层协议 |
MAIL_USERNAME | None | 邮件账户的用户名 |
MAIL_PASSWORD | None | 邮件账户的密码 |
代码示例
from threading import Thread
from flask import Flask
from flask_mail import Mail,Message
app = Flask(__name__)
app.config["MAIL_SERVER"] = "smtp.163.com"
app.config["MAIL_PORT"] = 465
app.config["MAIL_USE_SSL"] = True
app.config["MAIL_USERNAME"] = "xxxxx@163.com"
app.config["MAIL_PASSWORD"] = "123456"
mail = Mail(app)
@app.route("/send_mail")
def send_mail():
"""
发送邮件
"""
message = Message("标题",sender=app.config["USERNAME"],recipients=["xxxxxx@qq.com"])
message.body = "内容"
t = Thread(target=send_email,args=(message,))
t.start()
return "发送成功"
def send_email(msg):
with app.app_context():
mail.send(msg)
if __name__ == "__main__":
app.run()
Message:邮件消息,sender:发送者邮箱;recipients:接收者邮箱,列表格式;body:内容
网易163免费邮箱相关服务器信息
使用网易邮箱作为发送者邮箱时应注意,邮箱密码并非为邮箱的登录密码,而是客户端授权密码。
希望本文所述对大家基于flask框架的Python程序设计有所帮助。
来源:https://blog.csdn.net/y472360651/article/details/77944869


猜你喜欢
- 1. 生成源码# -*- coding: utf-8 -*-import randomdef generate_verification_c
- 数据添加函数实例//数据添加 public function newData($strName="") &n
- 业务场景使用elasticsearch作为全文搜索引擎,对标题、内容等,实现智能搜索、输入提示、拼音搜索等elasticsearch索引与数
- 配置可能会随官方改变,本文仅供参考。1.下载安装GO的包到https://code.google.com/p/go/downloads/li
- oracle 11g的监听日志和警告日志都是在/u01/oracle/diag/tnslsnr/oracle/listener目录和/u01
- 或许马上,或许几年之后,但是有迹象显示IE浏览器占统治地位的时代即将结束。在数据分析公司Net Applications的排名中,IE的市场
- vue-cli遇到的eslint的坑报错Do not access Object.prototype method 'hasOwnP
- Tools -> Build System -> Build New System{ "cmd": [&qu
- 在python中常看到在定义函数是使用@func. 这就是装饰器, 装饰器是把一个函数作为参数的函数,常常用于扩展已有函数,即不改变当前函数
- 安装MySQL假设你把所有必须的源码或者包都放在了/tmp下。如果你下载的是RPM包的话,那比较简单;如果你下载的是二进制包(你没有rpm程
- 过去一段时间人们似乎又非常热衷于探讨网络文档的印刷格式,涌现了很多与之相关的技术与理论资料,其中相当重要的一个领域就是关于印刷中字号和行高的
- 需要用到的库有selenium,还需要安装Chrome浏览器驱动,具体如何安装我就不详述了在这里我模拟了csdn的登录过程**1**.首先打
- 在html中引入外部js文件,并调用js文件中的带参函数1 项目结构2 编写a.js、test.html//a.jsfunction abc
- 在上一篇Python接口自动化测试系列文章:Python接口自动化浅析登录接口测试实战,主要介绍接口概念、接口用例设计及登录接口测试实战。以
- 情感分析(sentiment analysis)是2018年公布的计算机科学技术名词。它可以根据文本内容判断出所代表的含义是积极的还是负面的
- gojson是快速解析json数据的一个golang包,你使用它可以快速的查找json内的数据安装 go get github.com/wi
- 代码如下: Function NumberSplit(num) Dim i,length length=Len(num) For i=1 T
- 问题描述:在使用Vue框架开发时,在函数中改变了页面中的某个值,在函数中查看是修改成功了,但在页面中没有及时刷新改变后的值;解决:运用 th
- Java的idea在更新2020.1时就更新了官方汉化,当时Pycharm还没用出现汉化,但这两天提示我更新2020.1.1的时候,我发现p
- 按理说unittest 中是不应该测试那种外部依赖很强的用例,但是呢,有时候有些接口总是调试好之后怕忘了,就写了一些简单的测试case,想要