基於 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