[任务] 实现系统邮件通知中心,并支持用户自定义通知类型配置
[任务分值] 30 分
[背景描述]
随着系统功能逐步完善(如构建、文档、权限、评论、CL 等),越来越多的重要事件需要通知用户,例如:
- 构建失败
- CL 被评论 / 被合并
- 文档权限变更
- 系统异常或告警
目前系统缺乏统一的邮件通知能力:
- 没有集中式的邮件发送模块
- 事件通知无法灵活配置
- 用户无法选择接收哪些类型的邮件
[需求描述]
一、目标
- 实现系统级邮件通知能力
- 支持用户配置邮件通知偏好
- 为不同类型事件提供可扩展的通知机制
二、功能需求
- 通知事件模型设计
定义通知事件类型,例如:
事件类型应:
- 邮件发送基础能力
- 集成邮件发送服务(SMTP / 第三方邮件服务)
- 提供统一邮件发送模块:
- 记录发送日志(成功 / 失败)
- 用户通知配置能力
每个用户可配置:
- 开启 / 关闭邮件通知
- 按事件类型选择是否接收
- 可选择:
新增 API:
- 通知触发机制
在关键业务流程中:触发通知事件 → 通知中心 → 判断用户配置 → 发送邮件
通知逻辑应:
- 不阻塞主业务流程
- 支持异步发送(队列 / 任务机制)
[代码标准]
- 所有 PR 提交必须签署
Signed-off-by 和 使用 GPG 签名,即提交代码时(使用 git commit 命令时)至少使用 -s -S 两个参数,参考 Contributing Guide;
- 所有 PR 提交必须通过
GitHub Actions 自动化测试,提交 PR 后请关注 GitHub Actions 结果;
- 代码注释均需要使用英文;
[PR 提交地址] 提交到 mega 仓库的 main 分支 `` 目录;
[开发指导]
- 认领任务参考 r2cn 开源实习计划 - 任务认领与确认;
[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在 #p-meta 频道和导师交流。
- Quanyi Ma genedna@gmail.com
- Tianxing Ye yetianxing2014@gmail.com
[备注]
- 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务 和 r2cn 开源实习计划 - 学生注册与审核
[任务] 实现系统邮件通知中心,并支持用户自定义通知类型配置
[任务分值] 30 分
[背景描述]
随着系统功能逐步完善(如构建、文档、权限、评论、CL 等),越来越多的重要事件需要通知用户,例如:
目前系统缺乏统一的邮件通知能力:
[需求描述]
一、目标
二、功能需求
定义通知事件类型,例如:
事件类型应:
每个用户可配置:
新增 API:
在关键业务流程中:触发通知事件 → 通知中心 → 判断用户配置 → 发送邮件
通知逻辑应:
[代码标准]
Signed-off-by和 使用GPG签名,即提交代码时(使用git commit命令时)至少使用-s -S两个参数,参考 Contributing Guide;GitHub Actions自动化测试,提交 PR 后请关注GitHub Actions结果;[PR 提交地址] 提交到 mega 仓库的
main分支 `` 目录;[开发指导]
[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在
#p-meta频道和导师交流。[备注]