Flask-Mail用法实例分析

yipeiwu_com6年前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程序设计有所帮助。

相关文章

Django 对IP访问频率进行限制的例子

REST_FRAMEWORK 配置 对使用 rest_framework 框架的项目来说,可以使用框架的设置来对api的访问频率进行限制 REST_FRAMEWORK = {...

使用cx_freeze把python打包exe示例

需要使用到的文件wxapp.py, read_file.py, setup.py 复制代码 代码如下:#!/usr/bin/env python# -*- coding: utf-8 -...

浅谈解除装饰器作用(python3新增)

一个装饰器已经作用在一个函数上,你想撤销它,直接访问原始的未包装的那个函数。 假设装饰器是通过 @wraps 来实现的,那么你可以通过访问 wrapped 属性来访问原始函数: &g...

python正则表达式匹配不包含某几个字符的字符串方法

一、匹配目标 文件中所有以https?://开头,以.jpg|.png|.jpeg结尾的字符串 二、尝试过程 1)        自然想到...

Python学习笔记之自定义函数用法详解

本文实例讲述了Python学习笔记之自定义函数用法。分享给大家供大家参考,具体如下: 函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()等。也...