feat: add send many account mode

This commit is contained in:
engigu
2025-12-14 12:43:09 +08:00
parent 2125ddc853
commit 5e20533aa9
26 changed files with 1547 additions and 793 deletions
+54 -2
View File
@@ -53,14 +53,30 @@
#### 邮件渠道
- **收件人邮箱** - 接收邮件的邮箱地址
- **消息格式** - Text 或 HTML
- **固定模式**
- 收件人邮箱 - 接收邮件的邮箱地址
- 消息格式 - Text 或 HTML
- **动态接收者模式(群发)** 🆕:
- 勾选"动态接收者模式"
- 无需配置固定收件人
- 发送时通过 API 的 `recipients` 参数指定多个收件人
- 适用于邮件群发场景
#### 钉钉/企业微信
- **消息格式** - Text 或 Markdown
- **@提醒** - 可选配置@手机号或@所有人
#### 微信公众号
- **固定模式**
- 用户 OpenID - 接收消息的用户标识
- **动态接收者模式(群发)** 🆕:
- 勾选"动态接收者模式"
- 无需配置固定 OpenID
- 发送时通过 API 的 `recipients` 参数指定多个 OpenID
- 适用于公众号群发场景
#### 自定义 Webhook
- 根据 Webhook 要求配置相应参数
@@ -70,6 +86,13 @@
- 无需额外配置
- **消息格式** - Text、HTML 或 Markdown
::: warning 动态接收者模式限制
1. 一个任务只能配置一个动态接收实例
2. 动态接收实例不能与固定接收实例混合使用
3. 如果配置了动态接收实例,API 调用时 `recipients` 参数为必填
4. 建议控制接收者数量,避免触发渠道限流
:::
## 管理任务
### 查看任务列表
@@ -190,6 +213,35 @@ curl -X POST http://your-domain/api/v1/message/send \
}
```
### 动态接收者功能(群发)🆕
对于支持的渠道(邮件、微信公众号),可以使用动态接收者实现群发:
```json
{
"token": "your_task_token",
"title": "系统维护通知",
"text": "系统将于今晚22:00进行维护",
"html": "<h2>系统维护通知</h2><p>系统将于今晚<strong>22:00</strong>进行维护</p>",
"recipients": [
"user1@example.com",
"user2@example.com",
"user3@example.com"
]
}
```
**使用场景:**
- 邮件群发通知
- 微信公众号批量推送
- 营销活动通知
- 系统公告发布
**注意事项:**
- 任务必须配置为动态接收者模式
- 一个任务只能有一个动态接收实例
- 建议控制接收者数量,避免触发限流
## 工作流程
```mermaid