📧 云梦无限邮箱系统 - API开发文档

完整的API接口文档与系统版本信息

⚠️ 版本控制说明

  • 所有API接口(除 /api/version 外)都需要在请求头中携带 x-api-version 参数
  • 版本号格式为 x.y(如 1.4)
  • 主版本号必须与服务器一致,次版本号可以低于或等于服务器版本

📋 接口列表

GET /api/version
获取系统版本信息(无需版本号校验)

响应示例:

{ "success": true, "data": { "version": "1.4.1", "name": "正式版", "buildDate": "2026-03-28", "buildNumber": 1, "environment": "production", "full": "1.4.1 (1)" } }
GET /api/mailboxes
获取邮箱列表,支持分页和搜索

请求参数:

参数名 类型 必填 说明
page number 否 页码,默认为1
limit number 否 每页数量,默认为20
search string 否 搜索关键词

请求示例:

GET /api/mailboxes?page=1&limit=20&search=test Headers: x-api-version: 1.4
POST /api/mailboxes
创建新邮箱

请求参数:

参数名 类型 必填 说明
prefix string 是 邮箱前缀
domainName string 否 域名名称,不提供则使用默认域名

请求示例:

POST /api/mailboxes Headers: x-api-version: 1.4 Content-Type: application/json { "prefix": "newuser", "domainName": "example.com" }
GET /api/emails
获取邮件列表,支持分页、筛选和搜索

请求参数:

参数名 类型 必填 说明
page number 否 页码,默认为1
limit number 否 每页数量,默认为20
mailbox string 否 邮箱地址,筛选指定邮箱的邮件
unread boolean 否 是否仅显示未读邮件
search string 否 搜索关键词
POST /api/emails
接收邮件(邮件服务器使用)

请求参数:

参数名 类型 必填 说明
to string 是 收件人邮箱地址
from string 是 发件人邮箱地址
subject string 否 邮件主题
text string 否 邮件纯文本内容
html string 否 邮件HTML内容
attachments array 否 附件数组
GET /api/emails/:id
获取邮件详情,同时将邮件标记为已读

请求示例:

GET /api/emails/60a7b8c9d0e1f2g3h4i5j6k9 Headers: x-api-version: 1.4
DELETE /api/emails/:id
删除指定邮件

请求示例:

DELETE /api/emails/60a7b8c9d0e1f2g3h4i5j6k9 Headers: x-api-version: 1.4
GET /api/emails/:id/attachments/:index
下载指定邮件的附件

请求示例:

GET /api/emails/60a7b8c9d0e1f2g3h4i5j6k9/attachments/0 Headers: x-api-version: 1.4
GET /api/domains
获取所有启用的域名配置

请求示例:

GET /api/domains Headers: x-api-version: 1.4
GET /api/stats
获取系统统计信息

请求示例:

GET /api/stats Headers: x-api-version: 1.4
POST /api/emails/batch
批量操作邮件(标记已读/未读、删除)

请求参数:

参数名 类型 必填 说明
action string 是 操作类型:markAsRead、markAsUnread、delete
emailIds array 是 邮件ID数组

请求示例:

POST /api/emails/batch Headers: x-api-version: 1.4 Content-Type: application/json { "action": "markAsRead", "emailIds": ["60a7b8c9d0e1f2g3h4i5j6k9", "60a7b8c9d0e1f2g3h4i5j6k0"] }

版本号

v1.4.1

版本名称

正式版

构建日期

2026-03-31

构建号

#1

📝 更新日志

v1.4.1 2026-03-31
  • 更新用户后台
  • 更新api对接列子
v1.4.0 2026-03-28
  • 新增 raw 字段存储完整的原始邮件内容
  • 在解析邮件前捕获原始数据流
  • 将原始邮件内容保存到数据库
  • 优先返回存储的原始邮件内容
  • 如果没有原始内容则回退到拼接模式
  • 深色背景代码风格显示原文
  • 添加"复制原文"按钮
  • 等宽字体、保留原始格式
v1.3.0 2026-03-28
  • 🔵 查看邮件 - 渲染后的邮件内容
  • 🟠 查看原文 - 邮件原始文本格式
  • 🔴 删除邮件 - 删除该邮件
v1.2.0 2026-03-28
  • 实现发件人验证功能,包括邮箱格式验证、MX记录和A记录检查
  • 优化搜索邮件功能,支持状态、附件、排序等多维度筛选
  • 修复管理员后台邮件管理界面的搜索功能
  • 更新一键删除邮箱邮件功能
  • 优化黑名单管理界面,统一管理员后台导航
  • 添加垃圾邮件自动过滤和黑名单管理功能
v1.1.0 2026-03-20
  • 实现邮件附件功能支持
  • 添加邮件详情弹窗显示
  • 实现验证码自动提取功能
  • 添加邮件5秒自动刷新功能
v1.0.0 2026-03-10
  • 基础临时邮箱系统功能
  • 管理员后台域名管理
  • 管理员后台邮件管理
  • 管理员后台系统统计
  • API接口版本控制
  • 黑名单管理功能

API对接示例

无限邮箱主界面

无限邮箱主界面,生成邮箱,查看邮件集一体

无限邮箱主界面2

无限邮箱主界面,生成邮箱,查看邮件集一体

单接收邮件界面

单接收邮件界面,完整的功能演示

API对接开发文档.md
# API对接开发文档

API接口地址:https://ym-mail.ymmynb.com

当前版本号:1.4.1

## 文档概述

本文档详细记录了 `/api/` 目录下所有API接口的功能实现与对接规范,旨在帮助开发人员理解和集成这些接口。所有接口均为用户前台可用功能

## 接口列表

| 接口路径 | 方法 | 描述 |
|---------|------|------|
| `/api/version` | GET | 获取系统版本信息 |
| `/api/mailboxes` | GET | 获取邮箱列表 |
| `/api/mailboxes` | POST | 创建新邮箱 |
| `/api/emails` | GET | 获取邮件列表 |
| `/api/emails` | POST | 接收邮件(邮件服务器使用) |
| `/api/emails/:id` | GET | 获取邮件详情 |
| `/api/emails/:id` | DELETE | 删除邮件 |
| `/api/emails/:id/attachments/:index` | GET | 下载邮件附件 |
| `/api/domains` | GET | 获取域名配置 |
| `/api/stats` | GET | 获取统计信息 |
| `/api/emails/batch` | POST | 批量操作邮件 |

## 版本控制说明

### 版本号校验机制

所有API接口(除 `/api/version` 外)都需要在请求头中携带版本号参数:

- **请求头参数**:`x-api-version`
- **格式要求**:`x.y` 格式(如 `1.0`)
- **校验规则**:
  - 主版本号必须与服务器版本一致
  - 次版本号可以低于或等于服务器版本

### 获取版本信息 API

#### 接口基本信息
- **路径**:`/api/version`
- **方法**:GET
- **描述**:获取系统版本信息

#### 响应数据示例
```json
{
  "success": true,
  "data": {
    "number": "1.0",
    "name": "云梦无限邮箱系统",
    "description": "一个简单高效的云梦无限邮箱系统",
    "releaseDate": "2024-01-01"
  }
}
```

## 接口详情

### 1. 获取邮箱列表 API

#### 接口基本信息
- **路径**:`/api/mailboxes`
- **方法**:GET
- **描述**:获取邮箱列表,支持分页和搜索

#### 请求参数
| 字段名 | 类型 | 是否必填 | 说明 |
|--------|------|----------|------|
| `page` | number | 否 | 页码,默认为1 |
| `limit` | number | 否 | 每页数量,默认为20 |
| `search` | string | 否 | 搜索关键词,支持邮箱前缀和完整地址 |

#### 响应数据
| 字段名 | 类型 | 说明 |
|--------|------|------|
| `success` | boolean | 请求是否成功 |
| `data` | object | 响应数据 |
| `data.mailboxes` | array | 邮箱列表 |
| `data.pagination` | object | 分页信息 |
| `data.pagination.page` | number | 当前页码 |
| `data.pagination.limit` | number | 每页数量 |
| `data.pagination.total` | number | 总邮箱数 |
| `data.pagination.pages` | number | 总页数 |
| `error` | string | 错误信息(仅当success为false时) |

#### 状态码
| 状态码 | 含义 |
|--------|------|
| 200 | 请求成功 |
| 500 | 服务器内部错误 |

#### 接口调用示例

**请求示例**:
```bash
GET /api/mailboxes?page=1&limit=20&search=test
Headers: x-api-version: 1.0
```

**成功响应示例**:
```json
{
  "success": true,
  "data": {
    "mailboxes": [
      {
        "_id": "60a7b8c9d0e1f2g3h4i5j6k7",
        "prefix": "test",
        "domain": "example.com",
        "fullAddress": "test@example.com",
        "createdAt": "2023-05-20T10:00:00.000Z"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 20,
      "total": 1,
      "pages": 1
    }
  }
}
```

**失败响应示例**:
```json
{
  "success": false,
  "error": "服务器内部错误"
}
```

### 2. 创建新邮箱 API

#### 接口基本信息
- **路径**:`/api/mailboxes`
- **方法**:POST
- **描述**:创建新邮箱

#### 请求参数
| 字段名 | 类型 | 是否必填 | 说明 |
|--------|------|----------|------|
| `prefix` | string | 是 | 邮箱前缀 |
| `domainName` | string | 否 | 域名名称,不提供则使用默认域名 |

#### 响应数据
| 字段名 | 类型 | 说明 |
|--------|------|------|
| `success` | boolean | 请求是否成功 |
| `data` | object | 响应数据 |
| `data.mailbox` | object | 新创建的邮箱信息 |
| `data.mailbox.id` | string | 邮箱ID |
| `data.mailbox.prefix` | string | 邮箱前缀 |
| `data.mailbox.domain` | string | 邮箱域名 |
| `data.mailbox.fullAddress` | string | 完整邮箱地址 |
| `data.mailbox.createdAt` | string | 创建时间 |
| `error` | string | 错误信息(仅当success为false时) |

#### 状态码
| 状态码 | 含义 |
|--------|------|
| 200 | 邮箱已存在,返回现有邮箱 |
| 201 | 创建成功 |
| 400 | 请求参数错误 |
| 500 | 服务器内部错误 |

#### 接口调用示例

**请求示例**:
```bash
POST /api/mailboxes
Headers: x-api-version: 1.0
Content-Type: application/json

{
  "prefix": "newuser",
  "domainName": "example.com"
}
```

**成功响应示例**:
```json
{
  "success": true,
  "data": {
    "mailbox": {
      "id": "60a7b8c9d0e1f2g3h4i5j6k8",
      "prefix": "newuser",
      "domain": "example.com",
      "fullAddress": "newuser@example.com",
      "createdAt": "2023-05-20T10:00:00.000Z"
    }
  }
}
```

**失败响应示例**:
```json
{
  "success": false,
  "error": "邮箱前缀不能为空"
}
```

### 3. 获取邮件列表 API

#### 接口基本信息
- **路径**:`/api/emails`
- **方法**:GET
- **描述**:获取邮件列表,支持分页、筛选和搜索

#### 请求参数
| 字段名 | 类型 | 是否必填 | 说明 |
|--------|------|----------|------|
| `page` | number | 否 | 页码,默认为1 |
| `limit` | number | 否 | 每页数量,默认为20 |
| `mailbox` | string | 否 | 邮箱地址,用于筛选指定邮箱的邮件 |
| `unread` | boolean | 否 | 是否仅显示未读邮件,默认为false |
| `search` | string | 否 | 搜索关键词,支持主题、发件人和正文 |

#### 响应数据
| 字段名 | 类型 | 说明 |
|--------|------|------|
| `success` | boolean | 请求是否成功 |
| `data` | object | 响应数据 |
| `data.emails` | array | 邮件列表 |
| `data.pagination` | object | 分页信息 |
| `data.pagination.page` | number | 当前页码 |
| `data.pagination.limit` | number | 每页数量 |
| `data.pagination.total` | number | 总邮件数 |
| `data.pagination.pages` | number | 总页数 |
| `error` | string | 错误信息(仅当success为false时) |

#### 状态码
| 状态码 | 含义 |
|--------|------|
| 200 | 请求成功 |
| 500 | 服务器内部错误 |

#### 接口调用示例

**请求示例**:
```bash
GET /api/emails?page=1&limit=20&mailbox=test@example.com&unread=true&search=hello
Headers: x-api-version: 1.0
```

**成功响应示例**:
```json
{
  "success": true,
  "data": {
    "emails": [
      {
        "_id": "60a7b8c9d0e1f2g3h4i5j6k9",
        "to": "test@example.com",
        "from": "sender@example.com",
        "subject": "Hello World",
        "text": "Hello, this is a test email.",
        "read": false,
        "receivedAt": "2023-05-20T10:00:00.000Z"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 20,
      "total": 1,
      "pages": 1
    }
  }
}
```

**失败响应示例**:
```json
{
  "success": false,
  "error": "服务器内部错误"
}
```

### 4. 接收邮件 API(邮件服务器使用)

#### 接口基本信息
- **路径**:`/api/emails`
- **方法**:POST
- **描述**:接收邮件服务器投递的邮件

#### 请求参数
| 字段名 | 类型 | 是否必填 | 说明 |
|--------|------|----------|------|
| `to` | string | 是 | 收件人邮箱地址 |
| `from` | string | 是 | 发件人邮箱地址 |
| `subject` | string | 否 | 邮件主题 |
| `text` | string | 否 | 邮件纯文本内容 |
| `html` | string | 否 | 邮件HTML内容 |
| `attachments` | array | 否 | 附件数组 |

#### 响应数据
| 字段名 | 类型 | 说明 |
|--------|------|------|
| `success` | boolean | 请求是否成功 |
| `data` | object | 响应数据 |
| `data.email` | object | 新创建的邮件信息 |
| `data.isSpam` | boolean | 是否为垃圾邮件(可选) |
| `data.reason` | string | 垃圾邮件原因(可选) |
| `error` | string | 错误信息(仅当success为false时) |

#### 状态码
| 状态码 | 含义 |
|--------|------|
| 200 | 邮件被标记为垃圾邮件 |
| 201 | 邮件接收成功 |
| 400 | 请求参数错误 |
| 404 | 收件人邮箱不存在 |
| 500 | 服务器内部错误 |

#### 接口调用示例

**请求示例**:
```bash
POST /api/emails
Headers: x-api-version: 1.0
Content-Type: application/json

{
  "to": "test@example.com",
  "from": "sender@example.com",
  "subject": "Test Email",
  "text": "This is a test email.",
  "html": "<p>This is a test email.</p>",
  "attachments": []
}
```

**成功响应示例**:
```json
{
  "success": true,
  "data": {
    "email": {
      "id": "60a7b8c9d0e1f2g3h4i5j6k9",
      "to": "test@example.com",
      "from": "sender@example.com",
      "subject": "Test Email",
      "receivedAt": "2023-05-20T10:00:00.000Z",
      "hasAttachments": false
    }
  }
}
```

**垃圾邮件响应示例**:
```json
{
  "success": true,
  "message": "邮件已被标记为垃圾邮件",
  "data": {
    "isSpam": true,
    "reason": "发件人在黑名单中"
  }
}
```

### 5. 获取邮件详情 API

#### 接口基本信息
- **路径**:`/api/emails/:id`
- **方法**:GET
- **描述**:获取邮件详情,同时将邮件标记为已读

#### 请求参数
| 字段名 | 类型 | 是否必填 | 说明 |
|--------|------|----------|------|
| `id` | string | 是 | 邮件ID |

#### 响应数据
| 字段名 | 类型 | 说明 |
|--------|------|------|
| `success` | boolean | 请求是否成功 |
| `data` | object | 响应数据 |
| `data.email` | object | 邮件详情 |
| `error` | string | 错误信息(仅当success为false时) |

#### 状态码
| 状态码 | 含义 |
|--------|------|
| 200 | 请求成功 |
| 400 | 请求参数错误 |
| 404 | 邮件不存在 |
| 500 | 服务器内部错误 |

#### 接口调用示例

**请求示例**:
```bash
GET /api/emails/60a7b8c9d0e1f2g3h4i5j6k9
Headers: x-api-version: 1.0
```

**成功响应示例**:
```json
{
  "success": true,
  "data": {
    "email": {
      "_id": "60a7b8c9d0e1f2g3h4i5j6k9",
      "to": "test@example.com",
      "from": "sender@example.com",
      "subject": "Hello World",
      "text": "Hello, this is a test email.",
      "html": "<p>Hello, this is a test email.</p>",
      "attachments": [],
      "read": true,
      "receivedAt": "2023-05-20T10:00:00.000Z"
    }
  }
}
```

**失败响应示例**:
```json
{
  "success": false,
  "error": "邮件不存在"
}
```

### 6. 删除邮件 API

#### 接口基本信息
- **路径**:`/api/emails/:id`
- **方法**:DELETE
- **描述**:删除指定邮件

#### 请求参数
| 字段名 | 类型 | 是否必填 | 说明 |
|--------|------|----------|------|
| `id` | string | 是 | 邮件ID |

#### 响应数据
| 字段名 | 类型 | 说明 |
|--------|------|------|
| `success` | boolean | 请求是否成功 |
| `message` | string | 成功信息 |
| `error` | string | 错误信息(仅当success为false时) |

#### 状态码
| 状态码 | 含义 |
|--------|------|
| 200 | 请求成功 |
| 400 | 请求参数错误 |
| 404 | 邮件不存在 |
| 500 | 服务器内部错误 |

#### 接口调用示例

**请求示例**:
```bash
DELETE /api/emails/60a7b8c9d0e1f2g3h4i5j6k9
Headers: x-api-version: 1.0
```

**成功响应示例**:
```json
{
  "success": true,
  "message": "邮件删除成功"
}
```

**失败响应示例**:
```json
{
  "success": false,
  "error": "邮件不存在"
}
```

### 7. 获取域名配置 API

#### 接口基本信息
- **路径**:`/api/domains`
- **方法**:GET
- **描述**:获取所有启用的域名配置

#### 请求参数
无

#### 响应数据
| 字段名 | 类型 | 说明 |
|--------|------|------|
| `success` | boolean | 请求是否成功 |
| `data` | object | 响应数据 |
| `data.domains` | array | 域名列表 |
| `data.defaultDomain` | string | 默认域名 |
| `data.total` | number | 域名总数 |
| `error` | string | 错误信息(仅当success为false时) |

#### 状态码
| 状态码 | 含义 |
|--------|------|
| 200 | 请求成功 |
| 500 | 服务器内部错误 |

#### 接口调用示例

**请求示例**:
```bash
GET /api/domains
Headers: x-api-version: 1.0
```

**成功响应示例**:
```json
{
  "success": true,
  "data": {
    "domains": [
      {
        "id": "60a7b8c9d0e1f2g3h4i5j6k0",
        "name": "example.com",
        "enabled": true,
        "createdAt": "2023-05-20T10:00:00.000Z"
      }
    ],
    "defaultDomain": "example.com",
    "total": 1
  }
}
```

**失败响应示例**:
```json
{
  "success": false,
  "error": "服务器内部错误"
}
```

### 8. 获取统计信息 API

#### 接口基本信息
- **路径**:`/api/stats`
- **方法**:GET
- **描述**:获取系统统计信息

#### 请求参数
无

#### 响应数据
| 字段名 | 类型 | 说明 |
|--------|------|------|
| `success` | boolean | 请求是否成功 |
| `data` | object | 响应数据 |
| `data.totalEmails` | number | 总邮件数 |
| `data.totalMailboxes` | number | 总邮箱数 |
| `data.unreadEmails` | number | 未读邮件数 |
| `data.totalDomains` | number | 域名总数 |
| `data.recentEmails24h` | number | 最近24小时邮件数 |
| `error` | string | 错误信息(仅当success为false时) |

#### 状态码
| 状态码 | 含义 |
|--------|------|
| 200 | 请求成功 |
| 500 | 服务器内部错误 |

#### 接口调用示例

**请求示例**:
```bash
GET /api/stats
Headers: x-api-version: 1.0
```

**成功响应示例**:
```json
{
  "success": true,
  "data": {
    "totalEmails": 100,
    "totalMailboxes": 10,
    "unreadEmails": 20,
    "totalDomains": 1,
    "recentEmails24h": 5
  }
}
```

**失败响应示例**:
```json
{
  "success": false,
  "error": "服务器内部错误"
}
```

### 9. 批量操作 API

#### 接口基本信息
- **路径**:`/api/emails/batch`
- **方法**:POST
- **描述**:批量操作邮件,支持标记已读、标记未读和删除

#### 请求参数
| 字段名 | 类型 | 是否必填 | 说明 |
|--------|------|----------|------|
| `action` | string | 是 | 操作类型:markAsRead、markAsUnread、delete |
| `emailIds` | array | 是 | 邮件ID数组 |

#### 响应数据
| 字段名 | 类型 | 说明 |
|--------|------|------|
| `success` | boolean | 请求是否成功 |
| `data` | object | 响应数据 |
| `data.action` | string | 操作类型 |
| `data.affectedCount` | number | 受影响的邮件数 |
| `error` | string | 错误信息(仅当success为false时) |

#### 状态码
| 状态码 | 含义 |
|--------|------|
| 200 | 请求成功 |
| 400 | 请求参数错误 |
| 500 | 服务器内部错误 |

#### 接口调用示例

**请求示例**:
```bash
POST /api/emails/batch
Headers: x-api-version: 1.0
Content-Type: application/json

{
  "action": "markAsRead",
  "emailIds": ["60a7b8c9d0e1f2g3h4i5j6k9", "60a7b8c9d0e1f2g3h4i5j6k0"]
}
```

**成功响应示例**:
```json
{
  "success": true,
  "data": {
    "action": "markAsRead",
    "affectedCount": 2
  }
}
```

**失败响应示例**:
```json
{
  "success": false,
  "error": "参数不完整"
}
```

### 10. 下载邮件附件 API

#### 接口基本信息
- **路径**:`/api/emails/:id/attachments/:index`
- **方法**:GET
- **描述**:下载指定邮件的附件

#### 请求参数
| 字段名 | 类型 | 是否必填 | 说明 |
|--------|------|----------|------|
| `id` | string | 是 | 邮件ID |
| `index` | number | 是 | 附件索引(从0开始) |

#### 响应数据
- **成功**:返回附件文件内容,设置相应的Content-Type和Content-Disposition头
- **失败**:返回JSON格式的错误信息

#### 状态码
| 状态码 | 含义 |
|--------|------|
| 200 | 请求成功 |
| 400 | 请求参数错误 |
| 404 | 邮件不存在或附件不存在 |
| 500 | 服务器内部错误 |

#### 接口调用示例

**请求示例**:
```bash
GET /api/emails/60a7b8c9d0e1f2g3h4i5j6k9/attachments/0
Headers: x-api-version: 1.0
```

**成功响应示例**:
- 响应头:
  ```
  Content-Type: application/pdf
  Content-Disposition: attachment; filename="document.pdf"
  Content-Length: 1024000
  ```
- 响应体:文件二进制数据

**失败响应示例**:
```json
{
  "success": false,
  "error": "附件不存在"
}
```

## 错误码说明

| 错误码 | 含义 |
|--------|------|
| 400 | 请求参数错误,如邮箱前缀不能为空、选择的域名不存在或未启用、参数不完整、不支持的操作类型、缺少版本号参数、版本号格式错误、版本不兼容等 |
| 404 | 资源不存在,如邮件不存在、附件不存在、收件人邮箱不存在 |
| 500 | 服务器内部错误 |

## 特殊业务逻辑说明及注意事项

1. **版本号校验**:
   - 所有API接口(除 `/api/version` 外)都需要在请求头中携带 `x-api-version` 参数
   - 版本号格式为 `x.y`,主版本号必须与服务器一致,次版本号可以低于或等于服务器版本
   - 版本不兼容时会返回错误提示

2. **CORS中间件**:所有API接口都支持跨域请求,设置了允许所有来源的CORS头。

3. **域名处理**:
   - 创建邮箱时,如果未指定域名,会使用默认域名(第一个启用的域名)
   - 如果指定了域名,会检查该域名是否存在且已启用
   - 如果邮箱已存在,会返回现有邮箱信息(状态码200)

4. **邮件处理**:
   - 获取邮件详情时,会自动将邮件标记为已读
   - 获取邮件列表时,默认不返回HTML内容和附件二进制数据,以提高响应速度
   - 接收邮件时会自动进行垃圾邮件检测和过滤

5. **垃圾邮件过滤**:
   - 自动检测发件人和域名是否在黑名单中
   - 检测同一发件人、同一主题的邮件数量(最近24小时)
   - 检测同一发件人域名的重复内容邮件数量(最近24小时)
   - 超过阈值会自动标记为垃圾邮件或拉黑

6. **分页处理**:所有列表接口都支持分页,默认每页20条数据

7. **搜索功能**:
   - 邮箱列表支持按前缀和完整地址搜索
   - 邮件列表支持按主题、发件人和正文搜索

8. **批量操作**:支持批量标记邮件已读/未读和批量删除邮件

9. **统计信息**:包含总邮件数、总邮箱数、未读邮件数、域名总数和最近24小时邮件数

10. **附件处理**:
    - 邮件支持附件,附件信息包含在邮件详情中
    - 附件下载通过专门的API接口实现
    - 支持多种文件类型的附件下载




## 总结

本API提供了完整的邮箱管理功能,包括邮箱的创建和查询、邮件的接收和管理、域名配置的获取以及系统统计信息的查询。所有接口均为用户前台可用功能,无需管理员权限。开发人员可以根据本文档的规范对接这些接口,实现邮件系统的集成。使用时请注意版本号校验机制,确保客户端版本与服务器版本兼容。

index0.php