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