本文实例讲述了Flask-Mail用法。分享给大家供大家参考,具体如下:
很多类型的应用程序都需要在特定事件发生时提醒用户,而常用的通信方法是电子邮件。
虽然 Python 标准库中的 smtplib
包可用在 Flask 程序中发送电子邮件,但包装了 smtplib
的
Flask-Mail
扩展能更好地和 Flask 集成
安装
1
|
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 | 邮件账户的密码 |
代码示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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