Flask-Mail用法实例分析

yipeiwu_com5年前Python基础

本文实例讲述了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程序设计有所帮助。

相关文章

PyQt5 实现给窗口设置背景图片的方法

PyQt5 实现给窗口设置背景图片的方法

QPalette类可以十分简单的达到设置窗口背景图片的目的 def use_palette(self): self.setWindowTitle("设置背景图片") wi...

对python中url参数编码与解码的实例详解

一、简介 在python中url,对于中文等非ascii码字符,需要进行参数的编码与解码。 二、关键代码 1、url编码 对字符串编码用urllib.parse包下的quote(stri...

Django模板Templates使用方法详解

Django模板Templates使用方法详解

一、django的模板: 在settings.py的文件中可以看到并设置这个模板。 1.直接映射: 通过建立的文件夹(templates)和文件(html)来映射。 <!D...

Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】

Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】

本文实例讲述了Python列表list操作符。分享给大家供大家参考,具体如下: #coding=utf8 ''''' 列表也可以使用比较操作符,比较时更加ASCII进行比较的。 比较...

python 并发编程 非阻塞IO模型原理解析

python 并发编程 非阻塞IO模型原理解析

非阻塞IO(non-blocking IO) Linux下,可以通过设置socket使其变为non-blocking。当对一个non-blocking socket执行读操作时,流程是...