flask发送邮件

开通邮件IMAP/SMTP服务

以网易邮箱为例

点击开启发送验证后会收到一个密钥,记得保存好

编写代码

安装flask-mail
powershell 复制代码
pip install flask-mail
在config.py文件中配置邮件信息

MAIL_SERVER:邮件服务器

MAIL_USE_SSL:使用SSL

MAIL_PORT:端口

MAIL_USERNAME:用户名

MAIL_PASSWORD:上面获得的密钥

MAIL_DEFAULT_SENDER:默认的发送者

python 复制代码
#邮箱配置
MAIL_SERVER = "smtp.163.com"
MAIL_USE_SSL = True
MAIL_PORT = 465
MAIL_USERNAME = "188xxxx5@163.com"
MAIL_PASSWORD = "xxxxxxx"
MAIL_DEFAULT_SENDER = "18xxxxxxx@163.com"
在exts.py创建mail对象
python 复制代码
# 这个文件的目的是为了解决循环引用
from flask_mail import Mail

mail = Mail()
在app.py初始化mail
python 复制代码
from flask import Flask
import config
from exts import mail
from blueprints.auth import bp as auth_bp

app = Flask(__name__)
app.config.from_object(config)
mail.init_app(app)
app.register_blueprint(auth_bp)



if __name__ == '__main__':
    app.run()
在蓝图下的auth.py文件中编写路由

subject:邮件标题

recipients:接收者

body:邮件内容

python 复制代码
from flask import Blueprint
from exts import mail
from flask_mail import Message

bp = Blueprint("auth", __name__, url_prefix="/auth")



@bp.route("/mail/test")
def mail_test():
    message = Message(subject="邮箱测试", recipients=["258xxxxxx9@qq.com"], body="这是一条测试邮件")
    mail.send(message)
    return "邮件发送成功"
测试

打开接收者的邮箱

项目地址

https://gitee.com/yohoo-just-play/liu_oa/

相关推荐
葫芦和十三4 小时前
图解 MongoDB 05|文档模型设计:内嵌 vs 引用,反范式不是免费午餐
后端·mongodb·agent
不能放弃治疗7 小时前
单 Agent 实现模式
后端
兵慌码乱8 小时前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
IT_陈寒10 小时前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
fliter10 小时前
最后一块拼图:用 bitvec 构造 IPv4 包,真正做出自己的 Ping
后端
luckdewei11 小时前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
fliter11 小时前
用 Rust 解析并生成 ICMP 包:checksum、nom 与 cookie-factory
后端
蝎子莱莱爱打怪11 小时前
XZLL-IM干货系列 03|消息 ID 设计:一个 UUID 搞不定的事,我用两个 ID 解决了
后端·面试·开源
fliter11 小时前
从 panic 到 Result:用 Rust 重新整理一个 ping 项目的错误处理
后端
森蓝情丶12 小时前
我给 AI 搭了个法庭:一个前端仔的 LangGraph 实战全记录
前端·后端