基于 RuoyiPlus 后端最新架构,5 DOs / 5 Controllers,菜单 ID 起始 11500,构建企业级邮件收发与营销自动化体系
1. 增强定位与架构
1.1 产品定位
RuoYiPlus Mail 围绕多通道发送、邮件接收管理、营销自动化三大核心进行企业级增强,打造高可靠、可审计的企业邮件基础设施。
1.2 模块规模
| 指标 | 数值 |
|---|
| 数据对象 (DO) | 5 个 |
| 控制器 (Controller) | 5 个 |
| 菜单 ID 起始 | 11500 |
| Maven 模块 | yudao-module-mail |
1.3 核心数据表
| 表名 | 说明 |
|---|
mail_attachment | 附件管理 |
mail_blacklist | 黑名单管理 |
mail_send_log | 发送日志 |
mail_receive_log | 接收日志 |
mail_template | 邮件模板 |
graph TB
subgraph "RuoYiPlus Mail 增强架构"
subgraph "发送层"
A1[阿里云 DirectMail]
A2[AWS SES]
A3[本地 SMTP]
A4[企业邮箱]
end
subgraph "引擎层"
B1[异步发送]
B2[智能重试]
B3[限流保护]
B4[批量优化]
end
subgraph "业务层"
C1[模板引擎]
C2[邮件接收]
C3[营销邮件]
C4[附件管理]
end
subgraph "监控层"
D1[全链路追踪]
D2[统计分析]
D3[发送审计]
D4[合规报告]
end
end
A1 --> B1
A2 --> B1
A3 --> B1
A4 --> B1
B1 --> B2
B2 --> B3
B3 --> B4
B4 --> C1
C1 --> C2
C2 --> C3
C3 --> C4
C4 --> D1
D1 --> D2
D2 --> D3
D3 --> D4
1.4 能力对比
| 维度 | Yudao 原生能力 | RuoYiPlus Mail 增强 |
|---|
| 发送能力 | 简单发送 | 多通道+异步发送 |
| 接收能力 | 无 | IMAP/POP3 接收 |
| 模板管理 | 无 | 模板引擎+变量替换 |
| 附件管理 | 简单附件 | 多存储+版本管理 |
| 发送监控 | 无 | 全链路追踪+统计分析 |
| 营销邮件 | 无 | 营销邮件+批量发送 |
| 审计合规 | 简单日志 | 邮件发送全链路审计 |
2. 多通道发送架构
2.1 发送通道架构
graph TB
subgraph "发送通道"
subgraph "国内通道"
A1[阿里云 DirectMail]
A2[腾讯企业邮箱]
end
subgraph "国际通道"
B1[AWS SES]
end
subgraph "自建通道"
C1[本地 SMTP]
end
subgraph "发送引擎"
D1[异步发送]
D2[智能重试]
D3[限流保护]
D4[故障切换]
end
end
A1 --> D1
A2 --> D1
B1 --> D1
C1 --> D1
D1 --> D2
D2 --> D3
D3 --> D4
| 通道类型 | 适用场景 | 特点 |
|---|
| 阿里云 DirectMail | 国内业务 | 高送达率、国内优化 |
| AWS SES | 国际业务 | 全球覆盖、成本低 |
| 本地 SMTP | 自建系统 | 完全控制、隐私保护 |
| 企业邮箱 | 企业内部 | 企业认证、品牌形象 |
2.2 异步发送引擎
mail:
async:
enabled: true
pool-size: 10
queue-capacity: 1000
batch-size: 50
retry:
max-attempts: 3
backoff:
initial-interval: 1000
multiplier: 2.0
max-interval: 30000
rate-limit:
enabled: true
qps: 100
burst: 200
| 能力项 | 说明 |
|---|
| 异步发送 | 线程池异步处理 |
| 智能重试 | 指数退避重试策略 |
| 限流保护 | 令牌桶算法限流 |
| 批量优化 | 批量发送优化 |
| 故障切换 | 通道故障自动切换 |
3. 邮件接收管理
3.1 接收架构
graph TB
subgraph "邮件接收"
subgraph "接收协议"
A1[IMAP]
A2[POP3]
end
subgraph "接收处理"
B1[邮件解析]
B2[内容提取]
B3[附件处理]
B4[自动分类]
end
subgraph "接收存储"
C1[邮件归档]
C2[搜索检索]
C3[数据分析]
end
end
A1 --> B1
A2 --> B1
B1 --> B2
B2 --> B3
B3 --> B4
B4 --> C1
C1 --> C2
C2 --> C3
| 能力项 | 说明 |
|---|
| IMAP 接收 | 实时同步收件箱 |
| POP3 接收 | 定时拉取邮件 |
| 邮件解析 | 内容、附件解析 |
| 自动分类 | 按规则自动分类 |
| 自动回复 | 自动回复模板 |
4. 模板引擎增强
4.1 模板管理体系
graph TB
subgraph "模板管理"
subgraph "模板创建"
A1[模板设计]
A2[变量定义]
A3[样式配置]
A4[模板审核]
A5[模板发布]
end
subgraph "模板类型"
B1[业务模板]
B2[营销模板]
B3[系统模板]
end
subgraph "模板应用"
C1[变量替换]
C2[条件渲染]
C3[循环渲染]
C4[模板预览]
end
end
A1 --> A2
A2 --> A3
A3 --> A4
A4 --> A5
A5 --> B1
A5 --> B2
A5 --> B3
B1 --> C1
B2 --> C1
B3 --> C1
C1 --> C2
C2 --> C3
C3 --> C4
| 能力项 | 说明 |
|---|
| Thymeleaf 模板 | HTML 模板渲染 |
| 变量替换 | 动态变量注入 |
| 条件渲染 | 条件分支显示 |
| 模板版本 | 版本管理、历史追溯 |
| 模板测试 | 发送测试、效果预览 |
5. 营销邮件增强
5.1 营销自动化
graph LR
A[触发事件] --> B{条件判断}
B -->|满足| C[执行动作]
B -->|不满足| D[不执行]
C --> E[发送邮件]
E --> F[记录结果]
F --> G{后续条件}
G -->|是| H[继续执行]
G -->|否| I[流程结束]
mail:
marketing:
automation:
- trigger: "会员注册"
template: "欢迎邮件"
delay: 0
- trigger: "会员升级"
template: "升级祝贺"
delay: 0
- trigger: "购物后7天"
template: "复购提醒"
delay: 7d
- trigger: "生日当天"
template: "生日祝福"
condition: "member.birthday == today"
5.2 黑名单管理
| 能力项 | 说明 |
|---|
| 自动黑名单 | 退信自动加入黑名单 |
| 手动黑名单 | 手动添加黑名单 |
| 黑名单过滤 | 发送时自动过滤 |
| 黑名单申诉 | 黑名单申诉解除 |
6. 发送监控与分析
6.1 全链路追踪
graph LR
A[发送请求] --> B[队列排队]
B --> C[发送执行]
C --> D[送达状态]
D --> E[打开追踪]
E --> F[点击追踪]
A -.-> G[审计日志]
B -.-> G
C -.-> G
D -.-> G
E -.-> G
F -.-> G
| 追踪节点 | 说明 |
|---|
| 发送请求 | 发送请求记录 |
| 队列状态 | 队列排队状态 |
| 发送执行 | 发送执行状态 |
| 送达状态 | 送达成功/失败 |
| 打开追踪 | 邮件打开追踪 |
| 点击追踪 | 链接点击追踪 |
6.2 邮件发送审计
所有邮件发送操作均记录完整审计日志,支持邮件发送追溯。
| 审计项 | 说明 |
|---|
| 发送请求 | 记录发送人、接收人、发送时间 |
| 邮件内容 | 记录邮件主题、内容(加密存储) |
| 发送结果 | 记录发送成功/失败、失败原因 |
| 打开记录 | 记录邮件打开时间、打开次数 |
| 点击记录 | 记录链接点击时间、点击次数 |
6.3 统计分析
| 分析维度 | 指标 |
|---|
| 发送统计 | 发送量、成功率、失败率 |
| 送达分析 | 送达率、退信率、退信原因 |
| 效果分析 | 打开率、点击率、转化率 |
| 通道分析 | 各通道性能对比 |
| 模板分析 | 各模板效果对比 |
7. 技术架构
graph TB
subgraph "yudao-module-mail-plus"
subgraph "mail-biz"
A1[adapter 发送适配器]
A2[storage 附件存储]
A3[engine 发送引擎]
A4[template 模板引擎]
A5[receive 邮件接收]
A6[marketing 营销邮件]
A7[blacklist 黑名单管理]
A8[tracking 发送追踪]
A9[analytics 统计分析]
end
subgraph "权限与审计"
B1[permission 权限控制]
B2[audit 审计日志]
B3[masking 数据脱敏]
end
end
A1 --> B1
A2 --> B2
A3 --> B2
A4 --> B3
A5 --> B2
A6 --> B2
8. 商业价值
| 价值点 | 说明 |
|---|
| 高送达率 | 多通道、智能路由 |
| 发送可靠 | 异步发送、智能重试 |
| 营销赋能 | 营销邮件、自动化触发 |
| 效果追踪 | 打开率、点击率分析 |
| 成本优化 | 通道选择、批量优化 |
| 合规审计 | 全链路追踪、发送审计 |
docs