本文实例讲述了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